0% encontró este documento útil (0 votos)
27 vistas4 páginas

02.2. Variables

Las variables se definen con la palabra reservada `let` y tienen ámbito local o global. Las constantes son variables inmutables definidas con `const`. Las variables locales solo pueden ser accedidas dentro de su bloque de declaración, mientras que las globales pueden ser accedidas en cualquier parte del código.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
0% encontró este documento útil (0 votos)
27 vistas4 páginas

02.2. Variables

Las variables se definen con la palabra reservada `let` y tienen ámbito local o global. Las constantes son variables inmutables definidas con `const`. Las variables locales solo pueden ser accedidas dentro de su bloque de declaración, mientras que las globales pueden ser accedidas en cualquier parte del código.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Está en la página 1/ 4

## 2.

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";
```

La vieja var no tiene [visibilidad de bloque](https://es.javascript.info/var)


* Cuando dentro de un bloque, por ejemplo de un if, definimos una variable con let
esta tiene visibilidad **solamente** dentro del bloque, sin embargo con var,
sobrevive...
* Las declaraciones `var` son procesadas al inicio de la función, o del script para
las globales

El **nombre de las variables** debe cumplir las dos siguientes condiciones:


- El primer carácter debe ser una letra o un guión bajo (`_`) o un dólar (`$`).
- El resto de caracteres pueden ser letras, números, guiones bajos (`_`) y
símbolos de dólar (`$`).
- los guiones '-' no se pueden usar en los nombres
- El nombre es sensible al uso de mayúsculas<->minúsculas
- Podemos usar letras de cualquier alfabeto, pero no es conveniente.
- He probado nombres de letras acentuadas,ñ ,ß(alt+00223)
- No podemos usar [[02.3. Palabras reservadas]]

No es obligatorio inicializar una variable al declararla:

```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.

El ámbito de una variable (llamado _scope_ en inglés) es la zona del programa en la


que se define la variable.

JavaScript define dos ámbitos para las variables: **global** y **local**.

### Ejemplo con variable local

El siguiente ejemplo ilustra el comportamiento de los ámbitos:


```js
function muestraMensaje() {
// mensaje es una variable local, solo vive dentro de la función
var mensaje = "Mensaje de prueba";
}

muestraMensaje(); //
alert(mensaje);
```

Cuando se ejecuta el código JavaScript anterior, su resultado no es el esperado, ya


que no se muestra por pantalla ningún mensaje. La variable `mensaje` se ha definido
dentro de la función y por tanto es una variable local que solamente está definida
dentro de la función.

Cualquier instrucción que se encuentre dentro de la función puede hacer uso de la


variable. Sin embargo, cualquier instrucción que se encuentre en otras funciones o
fuera de cualquier función no tendrá definida la variable mensaje.

### Ejemplo con variable global

Además de variables locales, también existe el concepto de variable global, que


está definida en cualquier punto del programa (incluso dentro de cualquier
función).

```js

function muestraMensaje() {
alert(mensaje);
}

var mensaje = "Mensaje de prueba";


muestraMensaje();

```

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.

De esta forma, aunque en el interior de la función no se ha definido ninguna


variable llamada `mensaje`, la variable global creada anteriormente permite que la
instrucción `alert()` dentro de la función muestre el mensaje correctamente.

Si una variable se declara fuera de cualquier función, automáticamente se


transforma en variable global, independientemente de si se define utilizando la
palabra reservada `var` o no. Sin embargo, en el interior de una función, las
variables declaradas mediante `var` se consideran locales y el resto se transforman
también automáticamente en variables globales.

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() {

mensaje = "gana la de dentro";


alert(mensaje);
}
var mensaje = "gana la de fuera";
alert(mensaje);
muestraMensaje();
alert(mensaje);

/*
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';

myBirthday = '01.01.2001'; // ¡error, no se puede reasignar la constante!


```

### Constantes en mayúsculas

Existe una práctica utilizada ampliamente de utilizar constantes como alias de


valores difíciles-de-recordar.
* Tales constantes se nombran utilizando letras mayúsculas y guiones bajos.
* Por ejemplo, creemos constantes para los colores en el formato “web”
(hexadecimal):

```javascript
const COLOR_RED = "#F00";
const COLOR_GREEN = "#0F0";
const COLOR_BLUE = "#00F";
const COLOR_ORANGE = "#FF7F00";

// ...cuando debemos elegir un color


let color = COLOR_ORANGE;
alert(color); // #FF7F00
```

También podría gustarte