Declaración de Variables en JavaScript (const, let, var)

Author
Por Darío Rivera
Publicado el en Javascript

En un post anterior vimos el abanico de Tipos de Datos en JavaScript de los cuales disponemos. El día de hoy veremos que para declarar variables en JavaScript de cualquier tipo podemos utilizar las palabras reservadas let, var y const.

En esta tabla podrás ver a modo de resumen lo que se explicará en este post.

redeclaraciónreasignación
varSiSi
letNoSi
constNoNo

Reglas para el nombrado de variables

Case-Sensitivity: Todos los nombres de variables son sensibles a mayúsculas y minúsculas, lo cual indica que la variable num es distinta a la variable Num.

Label-Rule: Las variables deben comenzar con una letra, un guión al piso ( _ ) o el caracter dolar ( $ ), seguido de una combinación de letras, números, guiones al piso o signos de dólar.

Not-Keyword: Las nombres de variables no puedes ser iguales a una palabra reservada del lenguaje JavaScript.

const

La palabra reservada const se utiliza para declarar variables que no pueden cambiar su valor a lo largo del script. Esta manera de declarar variables está disponible desde ECMAScript 6.

const pi = 3.1416;

Una constante no puede ser redeclarada dentro del mismo scope. Si intentaramos declarar nuevamente esta variable obtendríamos el siguiente error:

const pi = 3.1416;
Uncaught SyntaxError: Identifier 'pi' has already been declared

Una constante tampoco puede ser reasignada. Si lo hicieramos obtendríamos un error como el siguiente:

pi = 5;
Uncaught TypeError: Assignment to constant variable.

Es una buena práctica nombrar las constantes conocidos antes de la ejecución en mayúsculas para acentuar el hecho de que son constantes y que su valor no puede cambiar.

const COLOR_RED = "#F00";
const COLOR_GREEN = "#0F0";

Las constantes que puedan surgir dentro del programa y que solo se conozca su valor en tiempo de ejecución se deberían nombrar en camel case como cualquier otra variable.

const pageLoadTime = /* some value not known before execution */;

var

La palabra reservad var se utiliza para declarar una variable en cualquier momento de manera global. Es la keyword más utilizada ya que era la forma antigua de declarar variables hasta ECMAScript 5.

var maxAttempts = 30;

A diferencia de la declaración con const, es posible primero declarar una variable y posteriormente inicializarla con un valor. El ejemplo anterior pudiera reescribirse así:

var maxAttempts;
maxAttempts = 30;

Además de esto, es posible redeclarar la misma variable en cualquier punto del script.

var maxAttempts = 50;

También, es posible reasignar una variable creada con var después de su inicialización.

maxAttempts = 60;

El alcance de una variable declarada con var es global. Esto quiere decir que una vez declarada se puede llamar desde cualquier otro punto del script. Es por esto mismo que actualmente no se recomienda utilizar var.

let

La palabra reservada let se utiliza para declarar variables con scope. Esta manera de declarar variables está disponible desde ECMAScript 6.

let userName = 'John Doe';

A diferencia de la declaración con const, es posible primero declarar una variable y posteriormente inicializarla con un valor. El ejemplo anterior pudiera reescribirse así:

let userName;
userName = 'John Doe';

Una variable declarada con let no puede ser redeclarada en su scope. Si intentaramos declarar nuevamente una variable obtendríamos un error como el siguiente:

let userName = 'John Doe';
Uncaught SyntaxError: Identifier 'userName' has already been declared

Sin embargo, es posible reasignar una variable creada con let después de su inicialización.

userName = 'Steave Jobs';

El alcance o scope de una variable declarada con let es de bloque.

Si quieres profundizar un poco más en el tema del scope te recomiendo el artículo Diferencia entre let, var y const en JavaScript. Hasta pronto!


Acerca de Darío Rivera

Author

Application Architect at Elentra Corp . Quality developer and passionate learner with 10+ years of experience in web technologies. Creator of EasyHttp , an standard way to consume HTTP Clients.

LinkedIn Twitter Instagram

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento en que pensaron renunciar.