JSLint si lamenta che (true)
è un weird condition
. Il che è comprensibile se non lo stavo usando su una dichiarazione di inversione di marcia. Quindi JSLint è sbagliato o non dovrei usare le istruzioni switch invertite?Un'istruzione switch invertita è accettabile per JavaScript?
Grazie per qualsiasi aiuto/illuminazione.
switch (true) {
case (menuLinksLength < 4):
numberOfColumns = 1;
break;
case (menuLinksLength > 3 && menuLinksLength < 7):
numberOfColumns = 2;
break;
case (menuLinksLength > 6 && menuLinksLength < 10):
numberOfColumns = 3;
break;
case (menuLinksLength > 9):
numberOfColumns = 4;
break;
default:
numberOfColumns = 0;
}
Per quello che vale, è possibile mantenere l'istruzione invertita e continuare a soddisfare il linter se si utilizza 'switch (true === true)'. Questo non è un avallo della pratica;) –
'switch (true === true)' non aiuta, in quanto ciò lo induce a lamentarsi di una "relazione strana". –
var theTruth = true; ----- switch (theTruth) {...} – dbrin