EDIT: Veuillez lire la question! Je connais déjà la différence. Ce n'est pas un doublon.
Évidemment, en ce moment, je devrais toujours utiliser la clé var
Word car let
n'est pas pris en charge dans tout.
Lorsque le mot clé let a un meilleur support (disons, j'écris une application Node dans quelques années qui utilise Harmony), quand dois-je utiliser le mot clé let
par rapport au var
mot clé?
Je comprends la différence —var
est pour la portée de la fonction tandis que let
est pour la portée du bloc — mais je cherche quelque chose comme "toujours utiliser le mot clé let
" ou "utiliser le mot clé var
en haut des fonctions, mais le mot clé let dans des blocs comme pour les boucles ".
Je dirais que vous devriez, en principe, utiliser let
chaque fois que cela ne vous dérange pas. Tel que:
for (let i = 0; i < 100; i++) {
// Do something
}
if (condition) {
let msg = a + b + c;
console.log(msg);
alert(msg);
}
Les avantages de cette approche sont:
tilisez let en règle générale, et var à l'occasion.
La portée des blocs est le choix standard et le plus lisible, et facilitera le débogage. La portée des blocs permet de voir facilement où se trouve une variable dans la portée. La portée de la fonction rend les choses beaucoup moins apparentes et beaucoup plus faciles à introduire accidentellement des bogues avec des erreurs de portée.
En général, plus la portée que vous pouvez utiliser est petite, mieux c'est. Ainsi let
sur var
.
En particulier, cela aide à résoudre le problème sans fin de la fermeture des variables et de ne pas réaliser que leur valeur changera avant l'exécution de la fermeture:
for (var i = 1; i <= 5; i++) {
var item = document.createElement("LI");
item.appendChild(document.createTextNode("Item " + i));
let j = i;
item.onclick = function (ev) {
alert("Item " + j + " is clicked.");
};
list.appendChild(item);
}