μ€μ½ν(scope)
π‘ μ§μ
μ΄λ ν¨μ λͺΈμ²΄ λ΄λΆ
λ₯Ό λ§νλ€.
π‘ μ€μ½ν 체μΈ
μ΄λ μ€μ½νκ° κ³μΈ΅μ μΌλ‘ μ°κ²°λ κ²μ λ§νλ€.
1. λ μ컬 μ€μ½ν
- ν¨μλ₯Ό μ΄λμ μ μνλμ§μ λ°λΌ ν¨μμ μμ μ€μ½νλ₯Ό κ²°μ νλ€.
- μμ μ€μ½νκ° λμ μΌλ‘ λ³νμ§ μκ³ ν¨μ μ μκ° νκ°λλ μμ μ μμ μ€μ½νκ° μ μ μΌλ‘ κ²°μ λκΈ° λλ¬Έμ
μ μ μ€μ½ν
λΌκ³ λ λΆλ₯Έλ€.
- ν¨μ μ μκ° μ€νλμ΄ μμ±λ ν¨μ κ°μ²΄λ μ΄λ κ² κ²°μ λ μμ μ€μ½νλ₯Ό κΈ°μ΅νλ€. μ΄λ ν¨μκ° νΈμΆλ λλ§λ€ ν¨μμ μμ μ€μ½νλ₯Ό μ°Έμ‘°ν νμκ° μκΈ° λλ¬Έμ΄λ€.
πΎ#01
var n1 = 1;
var n2 = "a";
function a() {
var n1 = 2;
b();
}
function b() {
var n2 = "b";
console.log(n1);
c();
function c() {
console.log(n2);
}
}
a();
2. ν¨μ λ 벨 μ€μ½ν
- ν¨μμ μν΄μλ§ μ§μ μ€μ½νλ₯Ό μμ±νλ€.
- varν€μλλ‘ μ μΈλ λ³μλ μ€μ§ ν¨μμ μ½λ λΈλ‘(ν¨μ λͺΈμ²΄)λ§μ μ§μ μ€μ½νλ‘ μΈμ νλ€. μ΄λ¬ν νΉμ±μ
ν¨μ λ 벨 μ€μ½ν
λΌ νλ€.
var i = 10;
for(var i = 0; i < 5; i++){
console.log(i);
}
console.log(i)
ππ» forλ¬Έ μμμ μ μΈν iλ μ μλ³μμ΄λ€!
3. λΈλ‘ λ 벨 μ€μ½ν
λΈλ‘ λ 벨 μ€μ½ν
λ ν¨μ λͺΈμ²΄ λΏλ§ μλλΌ λͺ¨λ μ½λ λΈλ‘(if, for, while, try/catch λ±)μ΄ μ§μ μ€μ½νλ‘ μΈμ νλ€.
- let, constν€μλλ‘ μ μΈν λ³μλ λΈλ‘ λ 벨 μ€μ½νλ₯Ό λ°λ₯Έλ€.
let foo = 1;
{
let foo = 2;
let bar = 3;
}
console.log(foo);
console.log(bar);
4. let
- let ν€μλλ‘ μ μΈν λ³μλ 'μ μΈ λ¨κ³'μ 'μ΄κΈ°ν λ¨κ³'κ° λΆλ¦¬λμ΄ μ§νλλλ°, 'μ μΈ λ¨κ³'λ λ°νμ μ΄μ μ μ€νλκ³ 'μ΄κΈ°ν λ¨κ³'λ λ³μ μ μΈλ¬Έμ λλ¬νμ λ μ€νλλ€.
π‘ μΌμμ μ¬κ°μ§λ
λ μ€μ½νμ μμ μ§μ λΆν° μ΄κΈ°ν μμ μ§μ κΉμ§ λ³μλ₯Ό μ°Έμ‘°ν μ μλ ꡬκ°μ λ§νλ€.
console.log(foo);
let foo;
console.log(foo);
foo = 1;
console.log(foo);
5. const
- letκ³Ό λλΆλΆ λμΌν¨.
- constν€μλλ‘ μ μΈν λ³μλ λ°λμ μ μΈκ³Ό λμμ μ΄κΈ°νν΄μΌ νλ€.
- μ¬ν λΉμ΄ κΈμ§λλ€!!
- μ¬ν λΉμ΄ κΈμ§λ λ³μλ₯Ό λ§νλ λ³μμΈ μμλ, const ν€μλλ‘ μ μΈν λ³μμ μμ κ°μ ν λΉνλ©΄ λ§λ€ μ μλ€.(μμλ μΌλ°μ μΌλ‘ λλ¬Έμλ‘ μ μΈνλ€.)
- const ν€μλλ‘ μ μΈλ λ³μμ κ°μ²΄λ₯Ό ν λΉν κ²½μ° κ°μ λ³κ²½ν μ μλ€!! -> μ¬ν λΉμ λΆλ³ν λΏ 'λΆλ³'μ μλ―Ένμ§ μλλ€!!