728x90
λ°μν
μ€μ½ν(Scope) β
1οΈβ£ λ³μλ₯Ό μ°Έμ‘°ν μ μλ μ ν¨ λ²μ
2οΈβ£ μλ³μ(λ³μ, ν¨μ, ν΄λμ€ μ΄λ¦) μ κ·Ό κ·μΉμ λ°λ₯Έ μ ν¨ λ²μ
λ²μ(μ€μ½ν)λ μ€κ΄νΈ(λΈλ‘) λλ ν¨μμ μν΄ λλ μ§λ€.
μ€μ½νμ μ£Όμ κ·μΉ β
π κ·μΉ 1. λΈλ μμ λ³μλ λΈλ μμμλ§ μ ν¨νλ€.
- λ°κΉ₯μͺ½ μ€μ½νμμ μ μΈν μλ³μλ μμͺ½ μ€μ½νμμ μ¬μ© κ°λ₯
- λ°λ©΄, μμͺ½μμ μ μΈν μλ³μλ λ°κΉ₯μͺ½ μ€μ½νμμλ μ¬μ©ν μ β
- λΈλ λ΄λΆμμλ§ μ‘΄μ¬νκ³ , λΈλμ΄ λλλ©΄ κ°λΉμ§ 컬λ ν°(GC)μ μν΄ μλμΌλ‘ μλ©Έλλ€.
const a = 1;
{
const b = 2;
console.log(a);
}
console.log(b); // μ€λ₯ λ°μ(app crashed)
π κ·μΉ 2. μ μ μ€μ½ν vs μ§μ μ€μ½ν
- κ°μ₯ λ°κΉ₯μͺ½μ μ€μ½νλ₯Ό μ μ μ€μ½ν(Global Scope)λΌκ³ λΆλ₯Έλ€.
- μ μμ΄ μλ λ€λ₯Έ μ€μ½νλ μ λΆ μ§μ μ€μ½ν(Local Scope)λΌκ³ λΆλ₯Έλ€.
const a = 1; // μ μ μ€μ½ν(Global Scope)
{
const b = 2; // μ§μ μ€μ½ν(Local Scope)
console.log(a);
{
const c = 3; // μ§μ μ€μ½ν(Local Scope)
console.log(b);
}
}
π κ·μΉ 3. μ§μ λ³μλ μ μ λ³μλ³΄λ€ μ°μ μμκ° λ λλ€.
- μ μ μ€μ½νμμ μ μΈν λ³μλ μ μ λ³μμ΄λ€.
- μ§μ μ€μ½νμμ μ μΈν λ³μλ μ§μ λ³μμ΄λ€.
const a = 1;
{
const a = 2;
console.log(a);
}
// μΆλ ₯ κ²°κ³Ό: 2
μ€μ½νμ μ’ λ₯ β
μ€μ½νμ μ’ λ₯λ‘λ λΈλ μ€μ½νμ ν¨μ μ€μ½νκ° μλ€.
- λΈλ μΈλΆμμλ λΈλ λ΄λΆμ λ³μλ₯Ό μ°Έμ‘°ν μ β
- ν¨μ μΈλΆμμλ ν¨μ λ΄λΆμ λ³μλ₯Ό μ°Έμ‘°ν μ β
- ν¨μ μΈλΆμμλ ν¨μμ 맀κ°λ³μλ₯Ό μ°Έμ‘°ν μ β
π‘ κΉ¨λ¬μ μ
λ³μλ μ΅λν νμν κ³³μμ μ μν΄μΌ νλ€.
- μ΄λ¦ μΆ©λ λ°©μ§
- λ©λͺ¨λ¦¬ μ μ½
π μ°Έμ‘° λ¬Έν λ° μ¬μ΄νΈ
'Frontend > JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JavaScript] μ°κ²° 리μ€νΈλ‘ ν(Queue) ꡬννλ λ°©λ² (0) | 2023.03.21 |
---|---|
[JavaScript] νλ²μ νλ λ°°μ΄ μμ± & μ΄κΈ°ν (0) | 2022.09.28 |
[JavaScript] ν΄λ‘μ λ 무μμΈκ°? (0) | 2022.09.02 |
[JavaScript] λ¬Έμμ΄ μΉν( replace(), split().join() ) (0) | 2022.08.19 |
[JavaScript] input νκ·Έ disabled μμ±μ μ΄μ©ν λ²νΌ νμ±ν/λΉνμ±ν (0) | 2022.05.15 |