Cela pourrait être incommensurable, mais je vais quand même demander. Par curiosité.Est-ce qu'un `if` simple est plus rapide que` else if 'quand il casse une boucle?
Dans ce code:
for (var i = 0; i < 10; i++) {
if (i > 5) {
break;
}
console.log("Do some stuff:", i);
}
je lance une boucle pour 6 itérations et cassez le 7.
Dans ce code:
for (var i = 0; i < 10; i++) {
if (i > 5) {
break;
} else {
console.log("Do some stuff:", i);
}
}
Je fais à peu près le même, sauf le code qui fonctionne avant que la boucle est rompue est à l'intérieur d'un else
au if
qu'il casse.
Évidemment, le résultat est le même. Cependant, ces deux morceaux de code sont-ils traités différemment à un niveau inférieur? L'un d'eux est-il même légèrement plus rapide? Est-ce que cela fait une différence autre que l'apparence?
Cela dépend vraiment de la VM que vous ciblez, il pourrait très bien utiliser les mêmes instructions pour les deux exemples ici pour une VM mais pas pour une autre. Il n'y a pas non plus de réponse concrète pour le scénario en général, un petit changement de contexte pourrait amener le compilateur à changer complètement le code. – MinusFour