** TIPOS LENGUAJE TIPADO:
- Tipado fuerte: son aquellos que no permiten comparar u operar con tipos de datos distintos sin realizar una conversión previa (Java, Python)
- Tipado blando (o no tipado): significa que las variables son declaradas sin un tipo. La declaración de variables no exige la asociación con un tipo de datos de forma implícita y unívoca
http://www.etnassoft.com/2011/01/27/tipado-blando-en-javascript/
**HOISTING
En Javascript, cuando se define una variable en el interior de una función, el intérprete interno pasa a ubicarla al comienzo de su contexto (la eleva)
var x = "Valor global"
function foo() {
console.log(x); // esperamos el valor global pero obtenemos undefined
var x = "New value";
console.log(x); // printa "New value"
}
foo();
// Esto se traduce en:
var x = "Valor global"
function foo() {
var x;
console.log(x); // esperamos el valor global pero obtenemos undefined
x = "New value";
console.log(x); // printa "New value"
}
foo();
// Si quisieramos SOBRESCRIBIR la variable x, tendríamos que hacer:
var x = "Valor global"
function foo() {
console.log(x); // printa valor global
x = "New value";
console.log(x); // printa "New value"
}
foo();