explícame - let javascript w3schools
¿Por qué se eligió el nombre ''let'' para las declaraciones de variables de ámbito de bloque en JavaScript? (7)
Además de
la respuesta de exebook
, el uso matemático de la palabra clave
let
también encapsula bien las implicaciones de alcance de
let
cuando se usa en Javascript / ES6.
Específicamente, así como el siguiente código ES6 ignora la asignación entre llaves de
toPrint
e imprime el valor de
''Hello World''
:
let toPrint = ''Hello World.'';
{
let toPrint = ''Goodbye World.'';
}
console.log(toPrint); // Prints ''Hello World''
dejar como se usa en matemáticas formalizadas (especialmente la escritura de pruebas) indica que la instancia actual de una variable existe solo para el alcance de esa idea lógica. En el siguiente ejemplo, x inmediatamente adquiere una nueva identidad al ingresar a la nueva idea (por lo general, estos son conceptos necesarios para probar la idea principal) y vuelve inmediatamente a la antigua x al concluir la sub-prueba. Por supuesto, al igual que en la codificación, esto se considera algo confuso y, por lo general, se evita eligiendo un nombre diferente para la otra variable.
Deje x ser tal y tal ...
Cosas de prueba
Nueva idea {Sea x otra cosa ... pruebe algo} Concluya una nueva idea
Demuestre la idea principal con la vieja x
Entiendo por qué
var
toma ese nombre, es variable,
const
, es una constante, pero ¿cuál es el significado detrás del nombre para
let
, que se extiende al bloque actual?
¿Déjalo ser?
Creo que el endeudamiento de JavaScript con Scheme es obvio aquí. El esquema no solo tiene let, sino que también tiene valores *, let *, sintaxis let y valores let. (Ver, El lenguaje de programación del esquema, 4ª ed.).
((La elección agrega más credibilidad a la noción de que JavaScript es Lispy, pero, antes de dejarnos llevar, no es homicónico))))
Hace exactamente lo que hace la
var
con una diferencia de alcance.
Ahora no puede tomar el nombre
var
ya que ya está en uso.
Por lo tanto, parece que ha tomado el siguiente mejor nombre que tiene una semántica en una construcción interesante del idioma inglés.
let myPet = ''dog'';
En inglés dice "Deja que mi mascota sea un perro"
La posibilidad más probable es que fue la elección más idiomática.
No solo es fácil de hablar, sino más bien intuitivo de entender.
Algunos podrían discutir, incluso más que la
var
.
Pero creo que hay un poco más de historia en esto.
De Wikipedia :
El lenguaje LCF de Dana Scott fue una etapa en la evolución del cálculo lambda en lenguajes funcionales modernos. Este lenguaje introdujo la expresión let, que ha aparecido en la mayoría de los lenguajes funcionales desde entonces.
Los lenguajes imperativos con estado completo como ALGOL y Pascal esencialmente implementan una expresión let, para implementar un alcance restringido de funciones, en estructuras de bloques.
Me gustaría creer que esto también fue una inspiración, para
let
Javascript.
Let es una declaración matemática que fue adoptada por los primeros lenguajes de programación como Scheme y Basic.
Las variables se consideran entidades de bajo nivel que no son adecuadas para niveles superiores de abstracción, por lo tanto, el deseo de muchos diseñadores de idiomas de introducir conceptos similares pero más poderosos como en Clojure, F #, Scala, donde
let
podría significar un valor o una
variable que se puede asignar , pero no modificado
, lo que a su vez permite que el compilador detecte más errores de programación y optimice mejor el código.
JavaScript ha tenido
var
desde el principio, por lo que solo necesitaban otra palabra clave, y lo tomaron prestado de docenas de otros idiomas que usan
let
ya como una palabra clave tradicional lo más cerca posible de
var
, aunque en JavaScript
let
crea una variable local de alcance de bloque en su lugar.
Let utiliza un alcance limitado de nivel de bloque más inmediato, mientras que var es típicamente el alcance de la función o el alcance global.
Parece que let se eligió muy probablemente porque se encuentra en muchos otros idiomas para definir variables, como BASIC y muchos otros.
Supongo que sigue la tradición matemática. En matemáticas, a menudo se dice "sea x un número real arbitrario" o algo así.