Variables de JavaScript

Una variable es un literal asignado a un identificador, por lo que puede hacer referencia a él y usarlo más adelante en el programa. Aprenda a declarar uno con JavaScript

Introducción a las variables de JavaScript

Una variable es un literal asignado a un identificador, por lo que puede hacer referencia a él y usarlo más adelante en el programa.

Variables enJavaScriptno tengo ningún tipo adjunto. Una vez que asigna un tipo de literal específico a una variable, luego puede reasignar la variable para alojar cualquier otro tipo, sin errores de tipo ni ningún problema.

Esta es la razón por la que a veces se hace referencia a JavaScript como "sin tipo".

Se debe declarar una variable antes de poder usarla. Hay 3 formas de hacer esto, usandovar,letoconst, y esas 3 formas difieren en cómo puede interactuar con la variable más adelante.

Usandovar

Hasta ES2015,varfue el único constructo disponible para definir variables.

var a = 0

Si te olvidas de agregarvarasignará un valor a una variable no declarada y los resultados pueden variar.

En entornos modernos, con el modo estricto habilitado, obtendrá un error. En entornos más antiguos (o con el modo estricto desactivado), esto inicializará la variable y la asignará al objeto global.

Si no inicializa la variable cuando la declara, tendrá elundefinedvalor hasta que le asigne un valor.

var a //typeof a === 'undefined'

Puede volver a declarar la variable muchas veces, anulándola:

var a = 1
var a = 2

También puede declarar varias variables a la vez en la misma declaración:

var a = 1, b = 2

losalcancees la parte del código donde la variable es visible.

Una variable inicializada convarfuera de cualquier función se asigna al objeto global, tiene un alcance global y es visible en todas partes. Una variable inicializada convardentro de una función se asigna a esa función, es local y solo es visible dentro de ella, al igual que un parámetro de función.

Cualquier variable definida en una función con el mismo nombre que una variable global tiene prioridad sobre la variable global, sombreándola.

Es importante comprender que un bloque (identificado por un par de llaves) no define un nuevo alcance. Un nuevo alcance solo se crea cuando se crea una función, porquevarno tiene alcance de bloque, sino alcance de función.

Dentro de una función, cualquier variable definida en ella es visible en todo el código de la función, incluso si la variable se declara al final de la función, todavía se puede hacer referencia al principio, porque JavaScript antes de ejecutar el código en realidadmueve todas las variables en la parte superior(algo que se llamalevantando). Para evitar confusiones, siempre declare las variables al comienzo de una función.

Usandolet

letes una nueva característica introducida en ES2015 y es esencialmente una versión de alcance de bloque devar. Su alcance se limita al bloque, declaración o expresión donde está definido, y todos los bloques internos contenidos.

Los desarrolladores de JavaScript modernos pueden optar por usar sololety descartar completamente el uso devar.

Siletparece un término oscuro, solo leelet color = 'red'comodeja que el color sea rojoy todo tiene mucho más sentido

Definiendoletfuera de cualquier función - contrario avar- no crea una variable global.

Usandovaren el nivel superior define una variable global que (en el navegador) se agrega alwindowobjeto. Alet(yconst) la declaración fuera de un bloque aún crea una variable que está disponible en el código de la aplicación, pero no está asignada awindow.

Usandoconst

Variables declaradas convaroletse puede cambiar más adelante en el programa y reasignar. Una vezconstse inicializa, su valor no se puede volver a cambiar nunca y no se puede reasignar a un valor diferente.

const a = 'test'

No podemos asignar un literal diferente alaconst. Sin embargo, podemos mutarasi es un objeto que proporciona métodos que mutan su contenido.

constno proporciona inmutabilidad, solo se asegura de que la referencia no se pueda cambiar.

consttiene alcance de bloque, igual quelet.

Los desarrolladores de JavaScript modernos pueden optar por utilizar siempreconstpara las variables que no necesitan reasignarse más adelante en el programa.

¿Por qué? Porque siempre debemos usar la construcción más simple disponible para evitar cometer errores en el futuro.


Más tutoriales de js: