π© μ€μ½ν
- μλ³μκ° μ ν¨ν λ²μ
- μλ°μ€ν¬λ¦½νΈ μμ§μ΄ μλ³μλ₯Ό κ²μν λ μ¬μ©νλ κ·μΉ
π© μ€μ½νμ μ’ λ₯
- μ μ μ€μ½ν
- μ½λμ κ°μ₯ λ°κΉ₯ μμ
- μ μμ λ³μλ₯Ό μ μΈνλ©΄ μ μ μ€μ½νλ₯Ό κ°λ μ μ λ³μ → μ΄λμλ μ§ μ°Έμ‘°ν μ μλ€.
- μ§μ μ€μ½ν
- ν¨μ λͺΈμ²΄ λ΄λΆ
- μ§μμ λ³μλ₯Ό μ μΈνλ©΄ μ§μ μ€μ½νλ₯Ό κ°λ μ§μ λ³μ → μμ μ μ§μ μ€μ½νμ νμ μ§μ μ€μ½νμμ μ ν¨νλ€.
π© ν¨μ λ 벨 μ€μ½ν
var ν€μλλ‘ μ μΈλ λ³μλ μ€λ‘μ§ ν¨μμ μ½λ λΈλ‘(ν¨μ λͺΈμ²΄)λ§μ μ§μ μ€μ½νλ‘ μΈμ ν©λλ€.
var i = 10;
for (var i = 0; i < 5; i++) {
console.log(i); // 0 1 2 3 4
}
console.log(i) // 5
π© λΈλ‘ λ 벨 μ€μ½ν
let, const ν€μλλ‘ μ μΈλ λ³μλ λͺ¨λ μ½λ λΈλ‘(ν¨μ, if λ¬Έ, for λ¬Έ, while λ¬Έ, try/catch λ¬Έ λ±)μ μ§μμ€μ½νλ‘ μΈμ ν©λλ€.
let i = 10;
for (let i = 0; i<5; i++) {
console.log(i); // 0 1 2 3 4
}
console.log(i); // 10
π© λ μ컬 μ€μ½ν
var x = 1;
function foo() {
var x = 10;
bar();
}
function bar() {
console.log(x);
}
foo(); // 1
bar(); // 1
μλ°μ€ν¬λ¦½νΈλ ν¨μλ₯Ό μ΄λμ μ μνλμ§μ λ°λΌ ν¨μμ μμ μ€μ½νλ₯Ό κ²°μ νλ λ μ컬 μ€μ½νλ₯Ό λ°λ¦ λλ€.
ν¨μκ° νΈμΆλ μμΉλ μμ μ€μ½ν κ²°μ μ μ΄λ ν μν₯λ μ£Όμ§ μμ΅λλ€.
bar ν¨μλ μ μμμ μ μλ ν¨μμ λλ€. bar ν¨μλ μ μ μ½λκ° μ€νλκΈ° μ μ λ¨Όμ νκ°λμ΄ ν¨μ κ°μ²΄λ₯Ό μμ±ν©λλ€.
μ΄λ μμ±λ bar ν¨μ κ°μ²΄λ μμ μ΄ μ μλ μ€μ½ν, μ¦ μ μ μ€μ½νλ₯Ό κΈ°μ΅ν©λλ€.
κ·Έλ¦¬κ³ , bar ν¨μκ° νΈμΆλλ©΄ νΈμΆλ κ³³μ΄ μ΄λμΈμ§ κ΄κ³μμ΄ μΈμ λ μμ μ΄ κΈ°μ΅νκ³ μλ μ μ μ€μ½νλ₯Ό μμ μ€μ½νλ‘ μ¬μ©ν©λλ€. λ°λΌμ μ μ λ³μ xμ κ° 1μ λ λ² μΆλ ₯ν©λλ€.
π© μ°Έκ³
- λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Dive 13μ₯