Variables
Las variables son identificadores que almacenan algún valor y que puede cambiar durante la ejecución del programa (de ahí su nombre).
Declarando una variable
Puedes declarar una variable usando la palabra reservada let (también puedes usar var, pero no se recomienda por motivos que más adelante veremos). El nombre de la variable debería ser en formato camelCase, y puede contener letras, números, $ y _ (pero no empezar por número). En JavaScript las variables no se declaran con un tipo de dato explícito. El tipo puede cambiar internamente dependiendo de cual sea el valor que se le asigne. Esto significa que podrías asignar una cadena, y posteriormente un número. A este tipo de lenguajes se les conoce como débilmente tipados.
Los tipos de datos básicos que podemos asignar a una variable son:
- number → Almacena un número que puede ser tanto entero como decimal
- string → Almacena una cadena de texto. Se representa entre comillas 'simples', "dobles", o `invertidas`
- boolean→ Almacena un valor binario que puede ser true (cierto) o false (falso)
- undefined→ Tipo especial que tiene una variable cuando no se le ha asignado valor todavía
La instrucción typeof devuelve el tipo de la variable (depende del valor asignado)
¿Qué ocurre si se nos olvida poner let?. JavaScript creará automáticamente esa variable como global, que será accesible desde todo el código. Esto NO es lo recomendado porque las variables globales son peligrosas. Más adelante estudiaremos el ámbito de las variables (global, local).
Para evitar que se nos olvide declarar la variable, podemos usar una declaración especial: 'use strict' al comienzo de nuestro archivo JS. De este modo, no vamos a poder asignar un valor o acceder a una variable que no haya sido previamente declarada con let.

Constantes
Cuando a lo largo de una función o bloque, una variable no va a cambiar de valor, o cuando queremos definir un valor global inmutable (por ejemplo el número PI), se recomienda declararla como constante con la palabra reservada const en lugar de usar let.
Muchas veces, las constantes globales se nombran en mayúsculas utilizando una notación SNAKE_CASE. Si creamos una constante local a una porción de código, se utiliza la misma regla que con las variables al nombrarla. Cabe destacar que muchas veces se recomienda almacenar como constante todos los valores que tengan una asignación inicial y sepamos que no van a cambiar con el tiempo. De esta forma evitamos que se modifique de forma accidental.