Variables de JavaScript cuál es la diferencia entre VAR, LET y const en JavaScript?

Variables de JavaScript cuál es la diferencia entre VAR, LET y const en JavaScript?
En Ecmascript 2016, JavaScript introdujo dos nuevos métodos para declarar variables con dejar y estúpido Palabras clave. JavaScript solo tenía una opción para declarar variables antes de 2016 I.mi. el varilla palabra clave. En este artículo aprenderemos por qué hay tres formas diferentes de declarar variables en JavaScript; También cubriremos la diferencia entre estos tres artículos. Además, este artículo también le presentará conceptos como el alcance variable y el elevador. Así que comencemos entendiendo qué es el alcance variable:

¿Qué es el alcance en JavaScript?

En JavaScript, el alcance se define mediante corchetes. Define un bloque de código que debe ejecutarse juntos. JavaScript tiene dos tipos de ámbitos:

  • Choque de funciones
  • Choque de bloques

Function-Scope: Cualquier variable en JavaScript creada dentro de una función utilizando varilla está en la función. Su visibilidad está restringida a la definición de la función y no se puede acceder desde cualquier lugar fuera de la función:

función showMessage ()
VAR MENSAJE = 'HI DEL LINUXHINT';
consola.log ("in:" + mensaje); // 'Hola, Linuxhint!'

Mostrar mensaje();
consola.Log ("Out:" + Mensaje); ReferenceError: el mensaje no está definido

Bloqueo: Un bloque de código en JavaScript se define por los aparatos ortopédicos rizados. Este tipo de alcance nos ayudará a diferenciar de manera prominente entre los tres métodos para declarar variables:

El siguiente es un ejemplo en el que hemos declarado variables con var, let y const en un bloque if y luego las registraron en la consola:

si es verdad)
var Message1 = 'Hi de LinuxHint';
Deje que Message2 = 'Hola desde LinuxHint';
const mensaje3 = 'hola de nuevo desde linuxhint';
consola.log ("in:" + mensaje1); // 'Hola de Linuxhint';
consola.log ("in:" + mensaje2); // 'Hola desde Linuxhint';
consola.log ("in:" + mensaje3); // 'Hola de nuevo de Linuxhint';

Todas las variables se han registrado a la consola sin ningún error, ya que se registraron desde el mismo bloque.

Sin embargo, si intentamos registrarlos desde fuera del bloque IF, aparecerá el error mencionado a continuación:

si es verdad)
var Message1 = 'Hi de LinuxHint';
Deje que Message2 = 'Hola desde LinuxHint';
const mensaje3 = 'hola de nuevo desde linuxhint';
consola.log ("in:" + mensaje1); // 'Hola de Linuxhint';
consola.log ("in:" + mensaje2); // 'Hola desde Linuxhint';
consola.log ("in:" + mensaje3); // 'Hola de nuevo de Linuxhint';

consola.Log ("Out:" + Message1); // 'Hola de Linuxhint';
consola.Log ("Out:" + Message2); // referenceError: el mensaje2 no está definido
consola.Log ("Out:" + Message3); // referenceError: el mensaje3 no está definido

Cómo usar VAR para declarar una variable en JavaScript

Antes de ECMAScript 2016 varilla fue el único método para declarar una variable en JavaScript, pero tenía varios problemas asociados, por lo que se introdujeron nuevos métodos que podrían usarse para declarar variables. Primero entenderemos varilla Y luego hablaremos sobre estos temas:

Alcance de VAR: El alcance variable básicamente significa dónde estará disponible la variable para usar. Variables que se declaran con el varilla La palabra clave tiene alcance global o local.

Variables que se declaran bloque de funciones externas utilizando varilla tener alcance global. El alcance global significa que hay una variable disponible para usar en cualquier lugar de la ventana.

Cuando la variable se declara dentro de una función, se está escolta de la función, lo que significa que solo se puede usar dentro de la función:

Para comprender más a fondo, mire el siguiente ejemplo:

función showMessage ()
VAR MENSAJE = 'HI DEL LINUXHINT';

Aquí el mensaje es la función alcanzada para que no se pueda acceder fuera de la función. Entonces, si hacemos esto:

función showMessage ()
VAR MENSAJE = 'HI DEL LINUXHINT';

consola.Log ("Out:" + Mensaje); // referenceError: el mensaje no está definido

Esto nos dará un error que se debe a que el mensaje no está disponible fuera de la función.

var fuera de un bucle for-bucle: La variable "i" se puede acceder desde el exterior del bucle.

para (var i = 0; i < 5; i++)
consola.log ("en:" + i);

consola.log ("out:" + i);

Las variables VAR se pueden volver a decidir y actualizarse: En las variables de JavaScript declaradas con varilla La palabra clave se puede redeclarar y actualizar en el mismo alcance:

función showMessage ()
VAR MENSAJE = 'HI DEL LINUXHINT';
mensaje = 'Hola desde Linuxhint';
VAR Message = 'Hola de nuevo desde LinuxHint';
consola.registro (mensaje); // 'Hola de nuevo de Linuxhint';

Mostrar mensaje()

Cómo usar Lettar para declarar una variable en JavaScript: El dejar ahora se prefiere la palabra clave varilla para declaraciones variables; Viene con algunas mejoras sobre varilla.

Let Is Block Scoped: En JavaScript, un bloque de código es la recopilación de declaraciones que están limitadas por un par de soportes rizados . Una variable declarada usando el dejar La palabra clave solo está disponible para usar dentro de ese bloque y no se puede acceder desde el exterior:

si es verdad)
Let Message = 'HI de LinuxHint';
consola.log ("in:" + mensaje); // "Hola de Linuxhint"

consola.Log ("Out:" + Mensaje); // referenceError

Si usamos el mensaje Fuera del bloque donde se definió, devolverá un error. Esto se debe a que las variables de Let están escoltas.

Deje que fuera de un for-bucle: El siguiente ejemplo que demuestra el dejar Salida variable usando para bucle:

para (deja i = 0; yo < 5; i++)
consola.log ("en:" + i);

consola.log ("out:" + i);

Deje que se pueda actualizar pero no vuelva a declarar: Una variable declarada con dejar se puede actualizar dentro de su alcance como varilla, pero a diferencia varilla, No se puede redeclarar:

Let Message = 'HI de LinuxHint';
mensaje = 'Hola desde Linuxhint';

La consola está completamente vacía y no devuelve ningún error. Estas declaraciones devolverán un error:

Let Message = 'HI de LinuxHint';
Deja que Message = 'Hola desde LinuxHint'; // SyntaxError: el identificador 'mensaje' ya se ha declarado

Sin embargo, redefinir la misma variable en un alcance diferente usando dejar no devuelve ningún error:

Let Message = 'HI de LinuxHint';
si es verdad)
Deja que Message = 'Hola desde LinuxHint';
consola.log ("in:" + mensaje); // "Hola desde Linuxhint"

consola.Log ("Out:" + Mensaje); // "Hola de Linuxhint"

El dejar La palabra clave trata estas dos variables como diferentes si están en diferentes ámbitos, por lo que no devuelve ningún error; esta característica del dejar La palabra clave lo convierte en una mejor opción que varilla. Cuando usas dejar, Puede reutilizar los nombres de variables en diferentes ámbitos sin preocuparse por si ha usado ese nombre de variable antes.

Cómo usar const para declarar la variable en JavaScript

Las variables declaradas usando el estúpido La palabra clave tiene valores constantes. Esto significa que sus valores no se pueden cambiar/reasignarse. Similar a las variables declaradas con el dejar palabra clave, las variables declaradas con el varilla La palabra clave también está en bloque de bloques.

const no se puede volver a decidir o reasignar: Las variables declaradas con la palabra clave estúpido no se puede redeclarar ni reasignarse dentro del mismo alcance. Entonces, si hemos declarado una variable con la palabra clave const, no podemos hacer esto:

const mensaje = 'Hi de LinuxHint';
mensaje = 'Hola desde Linuxhint'; // Error de tecleado

Tampoco podremos hacer esto:

const mensaje = 'Hi de LinuxHint';
const mensaje = 'hola desde linuxhint'; // Error de sintaxis

Cada variable que se declara utilizando el estúpido La palabra clave debe inicializarse en el momento de su declaración.

Este comportamiento de la estúpido La palabra clave de alguna manera cambia cuando se trata de objetos. Si bien el objeto declarado no se puede actualizar, sus propiedades se pueden cambiar

Entonces, si declaramos un objeto con estúpido:

Const user =
Nombre: "Steve",
Edad: 13

Si bien esto no se puede hacer:

usuario =
Nombre de usuario: "Harry",
Grado: "3rd"
// typeError: asignación a variable constante.

Esto puede hacerse:

usuario.nombre = "Harry";

Esto cambiará el valor del usuario.nombre sin devolver ningún error.

Revisión final

Declaración variable Choque de funciones Choque de bloques Redefinible
varilla
dejar
estúpido

Conclusión

Generalmente es una buena práctica evitar usar varilla declarar variables en JavaScript porque el alcance de la función es confuso y no es tan obvio como el alcance del bloque. El dejar y estúpido Las palabras clave alientan a los desarrolladores a usar mejores prácticas de codificación. Generalmente deberías usar dejar Para las variables que necesitará para reasignar y usar el estúpido Palabra clave para todas las demás variables. Este artículo explica a fondo los tres tipos de variables con ejemplos.