jshint wirft einen"Erwartet, dass ein 'break' - Anweisung vor der 'Fall'"
Hallo ich habe ein Probleme, wenn mein Rahmen ist mit jshint zu validieren, meine javascript
code. Ich habe verwendet die switch-case ohne break-Anweisung absichtlich, aber dieser Teil des Codes aufgenommen wird, als ein Fehler, wenn jshint
überprüft. Mein code ist so etwas wie unten.
switch (<no>){
case 1:
//does something
case 2:
//does something more
default:
//does something even more
}
Error from 'jshint' is like Line 203 character 41: Expected a 'break' statement before 'case'.
Irgendwelche Gedanken auf, wie es zu vermeiden ? oder ist es eine schlechte Praxis zu verwenden, wechseln Sie die Fälle in diesem Szenario überhaupt ?
- Was ist die Reale Welt Fall? Warum braucht man da nicht
break
? - Wenn der Fall 2 trifft , muss ich bei 2 & alle nachfolgend ausgeführt. Es ist wahr für alle Fälle. So etwas in der Art. Meine Logik funktioniert gut, aber die Validierung fehlschlägt.
- Ich habe oft die Schalter, wo ich nicht wirklich brauchen
break
in jedem Fall, das ist nicht allzu ungewöhnlich. - mögliche Duplikate von Schalter fallen durch ignoriert von JSHint
- Wenn Sie nur das tut, einen fall-through sollte es ok sein, aber vielleicht gibt es eine bessere alternative, die die Entsendung Ihrer tatsächlichen code würde helfen. Ein Wörterbuch-lookup ist eine gängige alternative.
- Das gleiche passiert, wenn ich habe eine ziemlich komplexe Anweisung mit einem
return
- Anweisung irgendwo in derswitch
(e. g. eine nested switch). Ich habe nicht verwendetbreak
weil es schien überflüssig.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Copy & paste aus der Dokumentation:
Also in deinem Fall:
Genau
break
s völlig überflüssig ist, wie in diesem BeispielIn diesem Fall, wenn Sie hätte
break
nachreturn
, JS Standard werfen würde, eine Warnung, nämlichUnreachable code
.Versucht zu versöhnen mit jshint und JS-Standard wird knifflig, aber wie gesagt, die Lösung wäre