forked from mouredev/hello-javascript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path01-variables.js
More file actions
49 lines (38 loc) · 1.55 KB
/
01-variables.js
File metadata and controls
49 lines (38 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// -----------------------------
// VAR
// -----------------------------
// Se puede volver a declarar en el mismo ámbito (NO recomendable)
// Se puede reasignar
// Su alcance (scope) es de función o global
// ↑ Esto puede causar errores si se usa en bloques como if o for
var helloWorld = "¡Hola, JavaScript!"; // <-- variable tipo STRING
console.log(helloWorld);
helloWorld = "¡Hola de nuevo, JavaScript!"; // <-- se reasigna sin problema
console.log(helloWorld);
// -----------------------------
// LET
// -----------------------------
// NO se puede volver a declarar en el mismo ámbito
// SÍ se puede reasignar
// Su alcance (scope) es de bloque { } → más seguro y predecible que var
let helloWorld2 = "¡Hola, JavaScript 2!"; // <-- variable tipo STRING
console.log(helloWorld2);
helloWorld2 = "¡Hola de nuevo, JavaScript 2!"; // <-- se reasigna sin problema
console.log(helloWorld2);
// -----------------------------
// CONST
// -----------------------------
// NO se puede volver a declarar
// NO se puede reasignar
// Scope de bloque (igual que let)
// Se usa para valores que NO cambian
const helloWorld3 = "¡Hola, JavaScript 3!"; // <-- variable tipo STRING
console.log(helloWorld3);
// helloWorld3 = "¡Hola de nuevo, JavaScript 3!" // ❌ ERROR → no se puede reasignar
//EJEMPLO
if (true) {
var x = "Soy var"; // var ignora el bloque → se vuelve global o de función
let y = "Soy let"; // let respeta el bloque → solo existe aquí dentro
}
console.log(x); // ✅ "Soy var"
console.log(y); // ❌ ERROR → y no está definida fuera del if