2017-05-25 2 views
0

Arbeits Schwierigkeiten Mit jshint Optionen für Grunzen EinrichtungGrunzen jshint Config nicht

Hier ist mein gruntfile.js

grunt.initConfig({ 
    jshint : { 
     options: { 

      curly: false, 
      asi: true, 
      eqeqeq: false, 
      maxparams: 5, 
      undef: false, 
      unused: false, 
      eqnull: true, 
      browser: true, 
      devel: true, 
      expr: true, 
      jquery: true , 
      evil : true 
     }, 
     files : { 
      src : [ 
       'dev/*.js', 'dev/**/*.js' , 
       'files-lib/*.js', 'files-lib/**/*.js' ] 
     }, 
    }, 

noch die Fehler immer

71 | return (this.optional (element) & & Wert == "") || Wiederholungstest (Wert); ^ Verwenden Sie '===' zum Vergleichen mit ''.

Vielen Dank für

+0

die komplette Datei Dies ist nicht verwenden zu finden. Versuche einfach ein minimales Beispiel zu posten. –

Antwort

2

kurze Antwort zu helfen: Es gibt nichts, was Sie in Ihrer options Konfiguration tun können, um dies zu vermeiden.

längere Antwort: Obwohl Sie die eqeqeq Eigenschaft false in Ihrer options Konfiguration eingestellt haben, (die Instanzen der Doppel equals übernimmt == sollte kein Fehler werfen), jshint in diesem Fall glaube ich, richtig berichtet Dies ist ein Fehler.

Der value=="" Teil in den Code validiert wird, was den Fehler wirft (das heißt, es ist die Option eqeqeq: false ignorierend). Das ist aus gutem Grund!

Der Operator == vergleicht nach Gleichheit, nachdem alle notwendigen Typkonvertierungen durchgeführt wurden, was zu wirklich eigenartigen Ergebnissen in Javascript führen kann. Zum Beispiel:

0 == ""  // true 
false == "" // true 

Während ich doppelt equals schätzen liefert das richtige Ergebnis für viele Vergleichsszenarien dieses value=="" Beispiel ist sicherlich ein Szenario, wobei triple equals verwendet werden soll, oder wenn Sie ein Doppel equals einzige Person, dann Sie value=="" mit value.length == 0

Weitere Informationen in Bezug auf triple-Gleichen und Doppel equals Operatoren ersetzen könnte, und es ist verschiedene Macken, kann in der Antwort auf diese post

Verwandte Themen