02.2. Variables
02.2. Variables
2 Variables
---
Las [variables](https://es.javascript.info/variables) se definen mediante la
palabra reservada `let`, que permite definir una o varias variables simultáneamente
* En scripts más viejos se utiliza la palabra `var`
* En javascript moderno se usa solo `let`
* `let` no permite declarar variables ya declaradas. Una declaración repetida de la
misma variable es un error.
```js
let variable1 = 16;
let variable2 = "hola", variable3 = "mundo";
let variable4 = 16, variable5 = "hola";
```
```js
let variable1 = 16;
variable2 = variable1 + 4; //da error al no estar variable2 definida
```
En el ejemplo anterior, la `variable2` no ha sido declarada, por lo que al llegar a
esa instrucción, JavaScript crea automáticamente una variable global llamada
`variable2` y le asigna el valor correspondiente, pero solo en modo no estricto.
muestraMensaje(); //
alert(mensaje);
```
```js
function muestraMensaje() {
alert(mensaje);
}
```
El código JavaScript anterior define una variable fuera de cualquier función. Este
tipo de variables automáticamente se transforman en variables globales y están
disponibles en cualquier punto del programa.
En caso de colisión entre las variables globales y locales, dentro de una función
prevalecen las variables locales:
```js
var mensaje = "gana la de fuera";
function muestraMensaje() {
var mensaje = "gana la de dentro";
alert(mensaje);
}
alert(mensaje);
muestraMensaje();
alert(mensaje);
/*
Salida:
gana la de fuera
gana la de dentro
gana la de fuera
*/
```
La variable local llamada `mensaje` dentro de la función tiene más prioridad que la
variable global del mismo nombre, pero solamente dentro de la función. Si no se
define la variable dentro de la función con la palabra reservada `var`, en realidad
se está modificando el valor de la variable global:
```js
function muestraMensaje() {
/*
Salida:
gana la de fuera
gana la de dentro
gana la de dentro
*/
```
La recomendación general es definir como variables locales todas las variables que
sean de uso exclusivo para realizar las tareas encargadas a cada función. Las
variables globales se utilizan para compartir variables entre funciones de forma
rápida.
## Constantes
Las constantes son variables inmutables, es decir que no van a cambiar de valor. Al
declararlas con `const` les asignamos un valor, el querer reasignar una constante
lanza un error
```javascript
const myBirthday = '18.04.1982';
```javascript
const COLOR_RED = "#F00";
const COLOR_GREEN = "#0F0";
const COLOR_BLUE = "#00F";
const COLOR_ORANGE = "#FF7F00";