Je comprends pourquoi var
prend ce nom - il est variable, const
- c’est une constante, mais quelle est la signification derrière le nom de let
, quelle portée au bloc actuel? Laisse faire?
Réponses
Trop de publicités?Laissez est un rapport mathématique qui a été adopté par les premiers langages de programmation comme le Régime de Base et. Les Variables sont considérées à faible niveau d'entités qui ne sont pas appropriés pour un niveau plus élevé d'abstraction, donc le désir de la langue de nombreux designers de présenter similaire, mais plus puissant des concepts comme en Clojure, F#, Scala, où let
pourrait signifier une valeur ou une variable qui peut être affectée, mais pas changé, ce qui à son tour permet au compilateur de capter davantage d'erreurs de programmation et d'optimiser le code mieux. JavaScript a eu var
depuis le début, ils ont juste besoin d'un autre mot-clé, et juste emprunté depuis des dizaines d'autres langues qui utilisent l' let
déjà comme un traditionnel clé de près de var
possible, bien que dans le JavaScript let
crée le bloc de portée variable locale à la place.
L'ajout de exebook de réponse, les mathématiques, l'utilisation du mot-clé let également résume bien la portée des implications de l' let
lorsque utilisé en Javascript/ES6. Plus précisément, tout comme le suivant ES6 code ignore l'affectation dans les accolades de la toPrint
et affiche la valeur de 'Hello World'
:
let toPrint = 'Hello World.';
{
let toPrint = 'Goodbye World.';
}
console.log(toPrint); // Prints 'Hello World'
laissez utilisé en mathématiques formalisées (en particulier la rédaction de preuves) indique que l'instance actuelle d'une variable n'existe que dans le champ d'application de cette idée logique. Dans l'exemple suivant, x gagne immédiatement une nouvelle identité à l'entrée de la nouvelle idée (habituellement, ce sont les concepts nécessaires pour prouver l'idée principale) et revient immédiatement à l'ancienne x lors de la conclusion de la sous-preuve. Bien sûr, tout comme dans le codage, c'est considéré comme quelque peu confus et si est généralement évité par le choix d'un nom différent pour l'autre variable.
Soit x si et si...
Trucs de preuve
Nouvelle Idée { que x est autre chose ... prouver quelque chose } Conclure Nouvelle Idée
Prouver idée principale avec de vieux x
Il fait exactement ce que le var
fait avec une différence de portée. Maintenant, il ne peut pas prendre le nom var
puisque c'est déjà pris.
Il semble donc qu’il ait pris le meilleur nom suivant, qui a une sémantique dans une construction de langue anglaise intéressante.
let myPet = 'dog';
En anglais, il est écrit: "Que mon animal soit un chien"
Le plus probable est que c'était le plus idiomatique choix. Non seulement est-il facile de parler, mais plutôt intuitif à comprendre. On pourrait faire valoir, d'autant plus que var
.
Mais je crois que il y a un peu plus d'histoire.
De Wikipedia:
Dana Scott LCF langue a été une étape dans l'évolution de lambda calcul modernes, les langages fonctionnels. Cette langue a présenté le permettez l'expression, qui est apparue dans la plupart des langages fonctionnels depuis ce temps.
État des langages impératifs comme ALGOL et Pascal essentiellement de mettre en œuvre un permettez l'expression, et à mettre en œuvre restreint de fonctions, structures de bloc.
J'aimerais croire que c'était une source d'inspiration aussi, pour l' let
en Javascript.