- Boolean Data type
- Let
- Const
Las variables pueden tener otro tipo de dato como el Boolean que puede ser true or false;
como en un switch,comunmente usado para hacer condiciones
Variables declaradas por let
tienen por alcance el bloque en el que se han definido, así mismo, como en cualquier bloque interno. De esta manera, let
trabaja muy parecido a var
. La más notable diferencia es que el alcance de una variable var
es la función contenedora:
if(true){
//bloque de código
}
//ejemplo
var message;
console.log(message);
message = null;
console.log(message);
var x = false;
console.log(x);
var x= true;
if(x){
conosle.log(x)
}
Tipos de Variables
Var : Declaras variables, con opción a inicializarla con un valor.
Let: Declaras Una variable que también podrá cambiar su valor,pero solo vivirá en el bloque declarado.
Const: Es una constante la cual NO cambiara su valor en ningún momento.
Ejemplo de let
let message = "Welcome";
if(true){
let message = " variable let";
console.log(message);
}
console.log(message);
Resultado en consola
La instrucción let
declara una variable de alcance local con ámbito de bloque(block scope), la cual, opcionalmente, puede ser inicializada con algún valor.
La palabra reservada let
en Mozilla Firefox 44 y anteriores, está solo disponible para bloques de código en HTML que esten envueltos en una etiqueta <script type="application/javascript;version=1.7">
(o de una version mayor). Las etiquetas XUL tienen acceso a esas características sin necesidad de dicho bloque. Es necesario tomar en cuenta que esta es una característica no estándar que ya se ha hecho actualmente estándar, esto pero puede crear conflictos con otros navegadores, ya que fue una característica no estándar.
let
te permite declarar variables limitando su alcance (scope) al bloque, declaración, o expresión donde se está usando.a diferencia de la palabra clave var
la cual define una variable global o local en una función sin importar el ámbito del bloque. La otra diferencia entre var
y let
es que este último se inicializa a un valor sólo cuando un analizador lo evalúa (ver abajo).
Declaración de variables null vs undefined
var a; esta inicializada como undefined
Una variable declarada con var o let sin un especifico valor sera tomada como undefined.
Ejemplo
<script type="text/javascript">
const test = true;
let message = "Welcome to the josealbertoxyz";
let moreStuff;
if(test){
console.log(message);
moreStuff = "contenido disponible ";
let inBlock ="dentro del bloque "
console.log(inBlock);
}
console.log(moreStuff);
</script>
Resultado en console.log
En Javascript las variables son “hoisted” o “izadas”. Esto, como su nombre lo indica, quiere decir que una variable es izada(subida) hasta el tope de la función o hasta llegar al inicio del Window Object. Cuando no declaramos una variable, Javascript la crea en el Window Object. Llegando incluso a reasignar el valor de esta sin pedirnos permiso. Por supuesto esto es horrible, porque puedes terminar creando variables globales y reasignando valores sin darte cuenta.