Bruno R

Variables

x
portfolio-next-l5vb64p5k-bandikyu.vercel.app

Las variables primero se definen y luego se inicializa dandoles un valor.

Estos son contenedores, almacenan cualquier tipo de datos, string, numeros, booleanos, como tambien funciones, objetos, arreglos o tambien otras variables.

let soyUnaVariableDefinida; //se define
soyUnaVariableDefinida = "que tiene este contenido de tipo string"; // se inicializa 

Las variables pueden definirse e inicializarse mediante una sola instruccion.

let soyUnaVariableDefinida = "que tiene este contenido de tipo string";

Let y Var

Existen dos maneras de declarar variables: let y var. Su principal diferencia radica en el ambito que alcanzan estas variables.

Se dice que Let tiene un alcance local porque su declaracion o modificacion no sale del ambito de bloque en el que esté, por fuera de esté la variable no existe o no se modifico .

let x = 1;

if (x === 1) {
  let x = 2;

  console.log(x);
  // output: 2 
	// la modificacion de esta variable alcanza solo el ambito de este bloque
}

console.log(x);
// output: 1
// por fuera del bloque la variable seguira conservando su valor

Por otro lado definir una variable con Var le proporciona un alcance global, esto quiere decir que no importara el ambito en el que fue declarada esta variable, esta podra ser llamada o modificada desde cualquier bloque o subs bloques del codigo, lo que prestaria a errores de manera frecuente. (Se debe tener especial cuidado al definir de esta forma las variable).

Diferencia al redefinir

Otra de las diferencias relevantes de estas dos formas de definir la variable es que por medio de var se puede volver a redefinir el valor de la variable por usando let presentaria un error. Lo que si se puede hacer con let si buscamos cambiar el valor de la variable es inicializar la variable con otro valor:

var myName = 'Chris';
var myName = 'Bob';
//sin errores cambia el valor de la variable

let myName = 'Chris';
let myName = 'Bob';
//esto presentaria un error porque la variable ya estaba definida

let myName = 'Chris';
myName = 'Bob';
//sin necesidad de declarar nada simplemente se le proporciona un nuevo valor

NOTA: se considera buena practica el uso de let para definir funciones por la facilidad para presentar errores de var en el desarrollo del codigo.

Nombres de variables

Para crear variables se puede usar cualquier letra y numero. Recordemos que javascript es keysensitive osea que las mayusculas en el nombre de la variable hacen que puedan haber dos variables con el mismo nombre pero con mayusculas distintas, (preferiblemente evitar esto para evitar confusiones en el codigo). Ademas de esto hay alguna reglas a tener en cuenta a la hora de nombrar una variable:

No empezar con numeros para evitar errores, dentro se pueden usar sin inconvenientes.
No empezar con simbolos.
Evitar el uso de las palabras reservadas de javascript para evitar mas errores.
Usar guines bajos al inicio significa algo para la comunidad que todavia no se.
Utilizar nombres que tengan relacion con el contenido de la variable.
Se considera buena practica el uso de "lower camel case" que seria utilizar minuscula en la primera letra de la primer palabra de la variable y las siguientes primeras letras de las demas palabras en mayuscula. Ej: "soyUnaVariable".

Tipos de variables

Como se dijo mas arriba existen distintos tipos de valores para una variable. Estas pueden ser:

Number
let soyUnNumero = 17;
String
let soyUnaCadena = "aca escribo lo que se me da la gana"
Boolean
let soyTrueOrFalse = true //nada pues eso puede ser verdadero o falso xD
Array
let numberArray = [1,3,4,1,2,5,6,4];
let stringArray = ["Jose","Carlos","Juan"]
Objects
let myDog = {name:"Roco" , edad:"2"}

JS es dinamico

Es un lenguaje dinamico porque a diferencia de otros leguajes (estaticos), a la hora de definir una variable no se especifica el tipo de dato que tendra (cualquiera de los vistos arriba).

Por esta razon se debe tener especial cuidado en el tipo de dato que estamos manejando para evitar dolores de cabeza.

Operador especial typeof es util en situaciones donde no sabemos porque recibimos retornos inesperados.

let myAge = '25';
typeof myAge; // output string
//el operador especial typeof retorna el tipo de dato que tiene esta variable.

Constantes

Muchos lenguajes utilizan este concepto, es una variable que una vez declarada su valor no puede cambiar. Se considera util por varias razones, por ejemplo seguridad por scripts de terceros que puedan modificar estos valores, por depuracion y comprencion de codigo (valores que es conveniente tenerlos inmutables si por un error cambiaran, podria traer problemas). En Java Script la palabra reservada para definir este tipo de valores inmutables es const.

const daysInWeek = 7;
const hoursInDay = 24;