π€ μμ§log π€
μ€μ½ν (Scope) λ³Έλ¬Έ
λͺ¨λ μλ³μ( λ³μμ΄λ¦, ν¨μμ΄λ¦, ν΄λμ€ μ΄λ¦ λ±)λ μμ μ΄ μ μΈλ μμΉμ μν΄ λ€λ₯Έ μ½λκ° μλ³μ μμ μ μ°Έμ‘°ν μ μλ μ ν¨λ²μκ° κ²°μ λλ€. μ€μ½νλ μλ³μκ° μ ν¨ν λ²μλ₯Ό λ§νλ€.
- μλ³μλ μ΄λ€ κ°μ ꡬλ³ν μ μμ΄μΌ νλ―λ‘ μ μΌ ν΄μΌ νλ€.
μ μκ³Ό μ μ μ€μ½ν ( Global Scope )
μ μμ΄λ μ½λμ κ°μ₯ λ°κΉ₯ μμμ λ§νκ³ μ μ μ€μ½νλ₯Ό λ§λ λ€
- μ μλ³μλ μ΄λμλ μ§ μ°Έμ‘°ν μ μλ€.
μ§μκ³Ό μ§μ μ€μ½ν ( Local Scope )
μ§μμ΄λ ν¨μ λͺΈμ²΄ λ΄λΆλ₯Ό λ§νκ³ μ§μ μ€μ½νλ₯Ό λ§λ λ€
- μ§μλ³μλ μμ μ μ§μ μ€μ½νμ νμ μ§μ μ€μ½νμμ μ ν¨ νλ€.
- βοΈ μμμλ λ°μ λ³Ό μ μμ§λ§ λ°μμλ μμ λ³Ό μ μκ³ μ κ·Όμ΄ μλλ€.
π μ μ λ³μμ λ¬Έμ μ
μ μλ³μμ 무λΆλ³ν μ¬μ©μ μννλ€. μ μ λ³μλ₯Ό λ°λμ μ¬μ©ν΄μΌ ν μ΄μ λ₯Ό μ°Ύμ§ λͺ»νλ€λ©΄ μ§μ λ³μλ₯Ό μ¬μ©ν΄μΌ νλ€.
μ§μ λ³μμ μλͺ μ£ΌκΈ°
- μ§μ λ³μμ μλͺ μ£ΌκΈ°λ ν¨μμ μλͺ μ£ΌκΈ°μ μΌμΉνλ€.
μ μ λ³μμ μλͺ μ£ΌκΈ°
μ μ μ½λλ ν¨μ νΈμΆκ³Ό κ°μ΄ μ μ μ½λλ₯Ό μ€ννλ νΉλ³ν μ§μ μ μ΄ μκ³ μ½λκ° λ‘λλμλ§μ 곧λ°λ‘ ν΄μλκ³ μ€νλλ€.
ν¨μλ ν¨μ λͺΈμ²΄μ λ§μ§λ§ λ¬Έ λλ λ°νλ¬Έμ΄ μ€νλλ©΄ μ’ λ£νλ€.
νμ§λ§ μ μμ½λμλ λ°νλ¬Έμ μ¬μ©ν μ μμΌλ―λ‘ λ§μ§λ§ λ¬Έμ΄ μ€νλμ΄ λμ΄μ μ€νν λ¬Έμ΄ μμλ μ’ λ£νλ€.
var ν€μλλ‘ μ μΈν μ μ λ³μμ μλͺ μ£ΌκΈ°λ μ μ κ°μ²΄μ μλͺ μ£ΌκΈ°μ μΌμΉνλ€.
1. μ묡μ κ²°ν©
μ μ λ³μλ₯Ό μ μΈν μλλ μ½λ μ΄λμλ μ°Έμ‘°νκ³ ν λΉν μ μλ λ³μλ₯Ό μ¬μ©νκ² λ€λ κ²μ΄λ€. μ΄λ λͺ¨λ μ½λκ° μ μ λ³μλ₯Ό μ°Έμ‘°νκ³ λ³κ²½ν μ μλ μ묡μ κ²°ν©μ νμ©νλ κ²μ΄λ€.
- λ³μμ μ ν¨λ²μκ° ν¬λ©΄ ν΄μλ‘ μ½λμ κ°λ μ±μ λλΉ μ§κ³ μλμΉμκ² μνκ° λ³κ²½λ μ μλ μνμ±λ λμμ§λ€.
2. κΈ΄ μλͺ μ£ΌκΈ°
μ μ λ³μλ μλͺ
μ£ΌκΈ°κ° κΈΈλ€. λ°λΌμ λ©λͺ¨λ¦¬ 리μλλ μ€λ κΈ°κ° μλΉνλ€. λν μ μ λ³μμ μνλ₯Ό λ³κ²½ ν μ μλ μκ°λ κΈΈκ³ κΈ°νλ λ§λ€.
var ν€μλλ λ³μμ μ€λ³΅ μ μΈμ νμ©νλ―λ‘ μλͺ
μ£ΌκΈ°κ° κΈ΄ μ μ λ³μλ λ³μ μ΄λ¦μ΄ μ€λ³΅λ κ°λ₯μ±μ΄ μλ€. λ³μ μ΄λ¦μ΄ μ€λ³΅λλ©΄ μλμΉ μμ μ¬ν λΉμ΄ μ΄λ€μ§λ€.
- μ§μ λ³μλ μ μ λ³μλ³΄λ€ μλͺ μ£ΌκΈ°κ° ν¨μ¬ 짧λ€. μ μ λ³μλ³΄λ€ μν λ³κ²½μ μν μ€λ₯κ° λ°μν νλ₯ μ΄ μλ€λ κ²μ μλ―Ένλ€.
3. μ€μ½ν μ²΄μΈ μμμ μ’ μ μ μ‘΄μ¬
4. λ€μμ€νμ΄μ€ μ€μΌ
π£ μ μ λ³μμ μ¬μ©μ μ΅μ νλ λ°©λ²
μ μ λ³μλ₯Ό λ°λμ μ¬μ©ν΄μΌ ν μ΄μ λ₯Ό μ°Ύμ§λͺ»νλ€λ μ§μ λ³μλ₯Ό μ¬μ©ν΄μΌ νλ€. λ³μμ μ€μ½νλ μ’μμλ‘ μ’λ€.
1. μ¦μμ€ν ν¨μ
2. λ€μμ€νμ΄μ€ κ°μ²΄
let MYAPP = {}; // μ μ λ€μμ€νμ΄μ€ κ°μ²΄
MYAPP.name = 'Lee';
console.log(MYAPP.name); // Lee
3. λͺ¨λ ν¨ν΄
λͺ¨λ ν¨ν΄μ ν΄λμ€λ₯Ό λͺ¨λ°©ν΄μ κ΄λ ¨μ΄ μλ λ³μμ ν¨μλ₯Ό λͺ¨μ μ¦μ μ€νν¨μλ‘ κ°μΈ νλμ λͺ¨λμ λ§λ€κ³ μΊ‘μν κΉμ§ ꡬνν μ μλ€.
π μΊ‘μν λ κ°μ²΄μ μνλ₯Ό λνλ΄λ νλ‘νΌν°μ νλ‘νΌν°λ₯Ό μ°Έμ‘°νκ³ μ‘°μν μ μλ λμμΈ λ©μλλ₯Ό νλλ‘ λ¬Άλ κ²μ λ§νλ€. κ°μ²΄μ νΉμ νλ‘νΌν°λ λ©μλλ₯Ό κ°μΆ λͺ©μ μΌλ‘ μ¬μ©νκΈ°λ νλλ° μ΄λ₯Ό μ 보μλ μ΄λΌ νλ€.
μλ°μ€ν¬λ¦½νΈλ public, private, protectedλ±μ μ κ·Ό μ νμλ₯Ό μ 곡νμ§ μλλ€. λͺ¨λ ν¨ν΄μ μ μ λ€μμ€νμ΄μ€μ μ€μΌμ λ§λ κΈ°λ₯μ λ¬Όλ‘ νμ μ μ΄κΈ°λ νμ§λ§ μ 보 μλμ ꡬννκΈ° μν΄μ μ¬μ©νλ€.
4. ES6 λͺ¨λ
ES6 λͺ¨λμ μ¬μ©νλ©΄ λμ΄μ μ μ λ³μλ₯Ό μ¬μ©ν μ μλ€. ES6 λͺ¨λμ νμΌμ체μ λ μμ μΈ λͺ¨λ μ€μ½νλ₯Ό μ 곡νλ€. λ°λΌμ λͺ¨λ λ΄μμ var ν€μλλ‘ μ μΈν λ³μλ λλ μ μ λ³μκ° μλλ©° windowκ°μ²΄μ νλ‘νΌν°λ μλλ€.
'π λͺ¨λJavascript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μμ±μ ν¨μμ μν κ°μ²΄ μμ± (0) | 2022.09.28 |
---|---|
νλ‘νΌν° μ΄νΈλ¦¬λ·°νΈ (1) | 2022.09.28 |
ν¨μ (0) | 2022.09.28 |
μμκ°κ³Ό κ°μ²΄ λΉκ΅ (0) | 2022.09.28 |
κ°μ²΄ 리ν°λ΄ (0) | 2022.09.28 |