π <λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Dive>λ₯Ό λ°νμΌλ‘ μμ½ μ 리ν κΈμ
λλ€.
1. μ μ
- μ€μ½ν(Scope): μλ³μκ° μ ν¨ν λ²μ
- μλ³μ: λ³μ μ΄λ¦, ν¨μ μ΄λ¦, ν΄λμ€ μ΄λ¦ λ±
- λͺ¨λ μλ³μλ μ μΈλ μμΉμ λ°λΌ μ°Έμ‘° κ°λ₯ν μ ν¨ λ²μκ° κ²°μ λλ€.
- μλ³μ κ²°μ : μλ°μ€ν¬λ¦½νΈ μμ§μ΄ μ΄λ€ λ³μλ₯Ό μ°Έμ‘°ν κ²μΈμ§ κ²°μ νλ κ²
2. μ’
λ₯
- μ€μ½νμ μ’
λ₯: μ μ(global)κ³Ό μ§μ(local)λ‘ κ΅¬λΆ
- μ μ μ€μ½ν: μ½λμ κ°μ₯ λ°κΉ₯ μμ λ²μ. μ μ μ€μ½νλ₯Ό κ°λ μ μ λ³μλ μ΄λμλ μ°Έμ‘°ν μ μλ€.
- μ§μ μ€μ½ν: ν¨μ λͺΈμ²΄ λ΄λΆ λ²μ. μ§μ μ€μ½νλ₯Ό κ°λ μ§μ λ³μλ μμ μ μ§μ μ€μ½νμ νμ μ§μ μ€μ½νμμ μ ν¨νλ€.
3. μ€μ½ν 체μΈ
- μ€μ½νλ ν¨μμ μ€μ²©μ μν΄ κ³μΈ΅μ ꡬ쑰λ₯Ό κ°λλ€.
- μ€μ½ν 체μΈ: μ€μ½νκ° κ³μΈ΅μ μΌλ‘ μ°κ²°λ κ²
function outer() {
function inner() {
}
}
- μλ³μ κ²°μ μ νμ¬ μ€μ½νμμλΆν° μμν€ μμ μ€μ½νλ‘ κ²μνλ©° μ΄λ£¨μ΄μ§λ€.
νμ¬ μ€μ½νμμ μ°Ύμ§ λͺ»νλ©΄ μμ μ€μ½νλ‘ μ΄λνμ¬ κ²μνλ€.
4. λ μ컬 μ€μ½ν(μ μ μ€μ½ν)
- λμ μ€μ½ν: ν¨μλ₯Ό μ΄λμ νΈμΆνλμ§μ λ°λΌ ν¨μμ μμ μ€μ½νλ₯Ό κ²°μ νλ€.
- μ μ μ€μ½ν: ν¨μλ₯Ό μ΄λμμ μ μνλμ§μ λ°λΌ ν¨μμ μμ μ€μ½νλ₯Ό κ²°μ νλ€.
ν¨μλ₯Ό μ΄λμμ νΈμΆνλ μ€μ½νλ λ³κ²½λμ§ μλλ€.