Je suis en cours d'exécution par mon code JSHint, et je suis frappé cette erreur:Ce 'commutateur' devrait être un 'si' - pourquoi?
This
switch
should be anif
Sur ce bloc de code:
switch(true)
{
case Major === 0 && Minor === 0 && Patch < 433:
upgraded = upgraded.replace(/(\s+)skill(\d)=/gm, '$1section_8_$2_body=');
/* falls through */
case Major === 0 && Minor === 0 && Patch < 442:
upgraded = upgraded.replace(/test=/gm, 'void=');
/* falls through */
case Major === 0 && Minor === 0 && Patch < 459:
upgraded = upgraded.replace(/another=/gm, 'void=');
/* falls through */
}
De googler j'ai trouvé this Github issue, mais il ressemble c'était parce qu'il n'y avait que 1 case
.
Comment puis-je résoudre ce problème? Je ne vois pas pourquoi ce switch
devrait être un if
. Est-ce que le fait que j'utilise le switch(true)
a quelque chose à voir avec ça? A côté: le code se termine bien sur la version en ligne (j'utilise le plugin Notepad ++).
Je suis d'accord avec JSHint. Ce 'switch' n'a pas l'air trop beau ... – elclanrs
@elclanrs Comment le réécrire? Je suis un peu d'accord ... cela pourrait devenir un monstre quand il y a beaucoup de chemins de mise à niveau. –
Eh bien, 'Patch' (pourquoi les majuscules?) Semble être la seule variable là-bas. Vous pouvez utiliser 'if, elseif' ou trouver un motif pour le résumer dans une recherche de dictionnaire. Je ne peux pas vous le dire sans voir d'autres parties du code. – elclanrs