variáveis - Por que o nome 'let' foi escolhido para declarações de variável com escopo de bloco em JavaScript?




variavel global javascript (5)

Eu entendo porque var leva esse nome - é variável, const - é uma constante, mas qual é o significado por trás do nome para let , que escopos para o bloco atual? Deixe ser?


A possibilidade mais provável é que tenha sido a escolha mais idiomática. Não só é fácil falar, mas também intuitivo de entender. Alguns podem argumentar, mais ainda do que var .

Mas eu acho que há um pouco mais de história nisso.

Da Wikipedia :

A linguagem LCF de Dana Scott foi um estágio na evolução do cálculo lambda em linguagens funcionais modernas. Essa linguagem introduziu a expressão let, que apareceu na maioria das linguagens funcionais desde aquela época.

Linguagens imperativas de estado completo, como ALGOL e Pascal, implementam essencialmente uma expressão let, para implementar escopo restrito de funções, em estruturas de bloco.

Eu gostaria de acreditar que isso foi uma inspiração também, para o let in Javascript.


Ele faz exatamente o que o var faz com uma diferença de escopo. Agora não pode pegar o nome var desde que já esteja tirado.

Então, parece que o próximo melhor nome foi o que tem uma semântica em uma construção interessante da língua inglesa.

let myPet = 'dog';

Em inglês diz "Deixe meu animal de estimação ser um cachorro"


Eu acho que segue a tradição matemática. Na matemática, costuma-se dizer "seja x número real arbitrário" ou assim.


Let é uma afirmação matemática que foi adotada pelas primeiras linguagens de programação como Scheme e Basic. As variáveis ​​são consideradas entidades de baixo nível que não são adequadas para níveis mais altos de abstração, portanto, o desejo de muitos designers de linguagem de introduzir conceitos semelhantes, mas mais poderosos como Clojure, F #, Scala, onde let pode significar um valor ou uma variável que pode ser atribuída , mas não mudou , o que, por sua vez, permite ao compilador detectar mais erros de programação e otimizar o código melhor. O JavaScript teve var desde o início, então eles só precisaram de outra palavra-chave, e pegaram emprestado de dezenas de outras linguagens que usam já como palavra-chave tradicional o mais próximo possível de var , embora no JavaScript let criar variável local de escopo de bloco.


Vamos usar um escopo limitado de nível de bloco mais imediato, enquanto var é escopo de função ou escopo global normalmente.

Parece que let foi escolhido provavelmente porque é encontrado em muitas outras linguagens para definir variáveis, como BASIC, e muitas outras.





let