w3schools explícame entre diferencias diferencia javascript ecmascript-6 let

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í.