2014-12-23 12 views
21

ich die folgende Zeile haben:Disable jshint wrning: Erwartet einen Auftrag oder Funktionsaufruf und stattdessen sah einen Ausdruck

imageUrl && (data.imageUrl = imageUrl); 

Für diese Strecke jshint klagt:

Expected an assignment or function call and instead saw an expression. 

ich die Warnung zu verstehen, aber Ich möchte es deaktivieren. Ich kann den Weg nicht finden, wie es geht.
Irgendeine Idee?

+0

Es ist sinnlos (imo) tricky. Warum nicht ein Wenn, dann wird die Warnung nicht passieren. –

+1

@Paul Weil ich dieses Muster sehr oft benutze. Ich möchte diese Art von Fehler lieber für die Zeilen ignorieren, die ich verwendet habe (nicht global). – Naor

+0

OK, dann sehe meine Antwort :) –

Antwort

25

Wenn es wirklich nur, dass eine Zeile

imageUrl && (data.imageUrl = imageUrl); // jshint ignore:line 

ich einen Fan von dem Schreiben von Code bin so ist es, wenn auch nicht Warnungen erzeugen, auch wenn dies bedeutet, besondere Maßnahmen zu ergreifen um es zu tun. Also würde ich bevorzugen

if (imageUrl) data.imageUrl = imageUrl; 
+0

Wissen Sie was? Nahm deinen Rat! 'if (imageURL) data.imageUrl = imageUrl' sieht ähnlich und besser aus. Vielen Dank! – Naor

+0

Was ist mit 'a ||? (a = []) '? Haben Sie irgendwelche Verbesserungen dafür? – Naor

+0

'if (! A)'? 'if (a.length! = 0)'? Hängt davon ab, was Sie versuchen zu tun. Oder 'wenn (a); sonst a = []; '. Bitte tu das nicht! (Sie erhalten auf jeden Fall eine andere Warnung) –

29

Fügen Sie einen /* jshint expr: true */ Kommentar in Ihr Javascript ein.

Referenz: http://jshint.com/docs/options/#expr

+5

Das schaltet es global aus und kann daher gültige Warnungen an anderer Stelle unterdrücken, es sei denn, Sie haben es in die problematische Funktion eingefügt. –