βοΈ μ΄λ² μ λ μ ν΅ν΄ μκ² λ κ²
μ μ λ³μμ μ§μ λ³μμ μλͺ μ£ΌκΈ°λ₯Ό μ€λͺ ν΄μ£ΌμΈμ.
μ μ λ³μ μ¬μ©μ μ΅μ ν΄μΌνλλ° κ·Έ μ΄μ κ° λ¬΄μμΈκ°μ?
<λ΅ λ―Έλ¦¬λ³΄κΈ°>
π€ μ μ λ³μμ μ§μ λ³μμ μλͺ μ£ΌκΈ°λ₯Ό μ€λͺ ν΄μ£ΌμΈμ.
π€ μ μ λ³μλ μ ν리μΌμ΄μ μ μλͺ μ£ΌκΈ°μ λμ²΄λ‘ κ°μ΅λλ€. μ§μ λ³μλ ν¨μκ° νΈμΆλμ΄ μ€νλλ λμμλ§ μ ν¨ν©λλ€.
π€ μ μ λ³μ μ¬μ©μ μ΅μ ν΄μΌνλλ° κ·Έ μ΄μ κ° λ¬΄μμΈκ°μ?
π€ μ μ λ³μλ μλͺ μ£ΌκΈ°κ° κΈΈκΈ° λλ¬Έμ λ©λͺ¨λ¦¬ 리μμ€λ κΈΈκ² μ¬μ©ν λΏλλ¬, μ μ μνλ₯Ό μλμΉ μκ² λ³κ²½ν κ°λ₯μ±λ 컀μ§λ€λ κ²μ΄κΈ° λλ¬Έμ μ μ λ³μ μ¬μ©μ μ΅μ ν΄μΌν©λλ€.
βοΈ λ³μμ μλͺ μ£ΌκΈ°
- μ§μ λ³μμ μλͺ μ£ΌκΈ° => ν¨μκ° νΈμΆλμ΄ μ€νλλ λμμλ§ μ ν¨νλ€.
- μ μ λ³μμ μλͺ μ£ΌκΈ° => μ ν리μΌμ΄μ μ μλͺ μ£ΌκΈ°μ κ°λ€.
λ³μλ μμ μ΄ λ±λ‘λ μ€μ½νκ° μλ©Έλ λκΉμ§ μ ν¨νλ€. ν λΉλ λ©λͺ¨λ¦¬ 곡κ°μ λ μ΄μ μ°Έμ‘°λμ§ μμΌλ©΄ κ°λΉμ§ μ½λ ν°μ μν΄ ν΄μ λμ κ°μ© λ©λͺ¨λ¦¬ νμ λ°νλλ€.
var x = 'global';
function foo(){
console.log(x); // undefined
var x = 'local';
}
foo();
console.log(x); // global
π foo ν¨μ λ΄λΆμ μ μΈλ μ§μ λ³μ xλ undefinedλ‘ μ΄κΈ°νλ μνμ΄λ€. λ³μ ν λΉλ¬Έμ΄ μ€νλκΈ° μ κΉμ§λ undefined κ°μ κ°λλ€.
β μ΄μ²λΌ νΈμ΄μ€ν μ μ€μ½νλ₯Ό λ¨μλ‘ λμνλ€. β
βοΈ μ μ λ³μμ λ¬Έμ μ
- μ묡μ κ²°ν©
μ μ λ³μλ₯Ό μ μΈνλ€λ κ²μ λͺ¨λ μ½λκ° μ μ λ³μλ₯Ό μ°Έμ‘°νκ³ λ³κ²½ν μ μλ μ묡μ κ²°ν©μ νμ©νλ κ²μΈλ°, λ³μμ μ ν¨ λ²μκ° μ»€μ§κ² λλ©΄ μ½λμ κ°λ μ±μ΄ λλΉ μ§κ³ μλμΉ μκ² μνκ° λ³κ²½λ μ μλ μνμ±λ λμμ§λ€.
- κΈ΄ μλͺ μ£ΌκΈ°
μ μ λ³μμ μλͺ μ£ΌκΈ°κ° κΈΈκΈ° λλ¬Έμ μλμΉ μκ² μ μ λ³μμ μνλ₯Ό λ³κ²½ν κ°λ₯μ±λ 컀μ§λ€.
- μ€μ½ν μ²΄μΈ μμμ μ’ μ μ μ‘΄μ¬
μ μ λ³μλ μ€μ½ν μ²΄μΈ μ μ’ μ μ μ‘΄μ¬νλλ°, λ³μλ₯Ό κ²μν λ μ μ λ³μκ° κ°μ₯ λ§μ§λ§μ κ²μλλ€λ κ²μ λ§νλ€. (κ²μ μλκ° λ리λ€.)
- λ€μμ€νμ΄μ€ μ€μΌ
μλ°μ€ν¬λ¦½νΈ νμΌμ΄ λΆλ¦¬λμλλΌλ νλμ μ μ μ€μ½νλ₯Ό 곡μ νκΈ° λλ¬Έμ μμμΉ λͺ»ν κ²°κ³Όλ₯Ό κ°μ§κ³ μ¬ μ μλ€.
βοΈ μ μ λ³μμ μ¬μ©μ μ΅μ νλ λ°©λ²
1. μ¦μ μ€ν ν¨μ
2. λ€μμ€νμ΄μ€ κ°μ²΄
λ€μμ€νμ΄μ€ κ°μ²΄ μμ²΄κ° μ μ λ³μμ ν λΉλμ λ§μ΄ μ°μ΄λ λ°©λ²μ μλλ€.
3. λͺ¨λ ν¨ν΄
μλ°μ€ν¬λ¦½νΈμ ν΄λ‘μ λ₯Ό κΈ°λ°μΌλ‘ λμνλ€. (μΊ‘μνκΉμ§ ꡬνκ°λ₯)
4. ES6 λͺ¨λ
ES6 λͺ¨λμ νμΌ μ체μ λ μμ μΈ λͺ¨λ μ€μ½νλ₯Ό μ 곡νλ€.
π©π» λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Diveλ₯Ό μ λ νκ³ μ κ° μ΄ν΄ν λ΄μ©μ μ 리ν κΈμ λλ€ π©π»
'πLanguage > JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Deep Dive] var, let, const ν€μλλ₯Ό νν€μ³λ³΄μ (0) | 2022.12.07 |
---|---|
[Deep Dive] μ€ν 컨ν μ€νΈ (0) | 2022.12.05 |
[Deep Dive] μ€μ½νμ μ€μ½ν μ²΄μΈ (0) | 2022.12.02 |
[Deep Dive] ν¨μ μ μΈλ¬Έκ³Ό ν¨μ ννμμ μ°¨μ΄, μ½λ°± ν¨μ, ν¨μν νλ‘κ·Έλλ°μ΄ νμν μ΄μ (0) | 2022.12.01 |
[Deep Dive] λ³μμ νΈμ΄μ€ν (0) | 2022.11.30 |