μλ°μ€ν¬λ¦½νΈ νΈμ΄μ€ν (Hoisting): μ½λ μ€ν μ μ λμ λ©μ»€λμ¦
1. νΈμ΄μ€ν μ κ°λ
νΈμ΄μ€ν μ μλ°μ€ν¬λ¦½νΈμμ μ½λλ₯Ό μ€ννκΈ° μ μ μ μΈλ λ³μ λ° ν¨μ μ μΈμ λμ΄μ¬λ € λ©λͺ¨λ¦¬μ ν λΉνλ λμμ λ§ν©λλ€. μ΄λ μ½λμ μ€ν μμμ λ€λ₯΄κ² λμνλλ°, μ½λ λ΄μμ λ³μλ ν¨μλ₯Ό μ μΈνκΈ° μ΄μ μ μ¬μ©ν μ μλ νΉμ§μ κ°κ³ μμ΅λλ€.
2. νΈμ΄μ€ν μ μ λμ μν
νΈμ΄μ€ν μ΄λΌλ μ©μ΄λ "λμ΄ μ¬λ¦¬λ€"λΌλ λ»μΌλ‘, μ΄κΈ° μλ°μ€ν¬λ¦½νΈ μμ§μ΄ μ½λλ₯Ό μ²λ¦¬ν λ μ μΈλ λ³μμ ν¨μλ₯Ό λ¨Όμ λ©λͺ¨λ¦¬μ μ¬λ¦¬λ νΉμ§μμ λΉλ‘―λ©λλ€.
νΈμ΄μ€ν μ μ£Όλ‘ λ€μκ³Ό κ°μ μν μ ν©λλ€.
- λ³μ λ° ν¨μ μ μΈ λμ΄μ¬λ¦¬κΈ°: μ μΈλ λ³μμ ν¨μλ μ½λ μ€ν μ΄μ μ λ©λͺ¨λ¦¬μ λμ΄μ¬λ €μ Έ, μ΄νμ μ°Έμ‘°ν μ μκ² λ©λλ€.
3. νΈμ΄μ€ν μ λμ μ리
3.1. λ³μ νΈμ΄μ€ν
console.log(myVar); // undefined
var myVar = 10;
console.log(myVar); // 10
λ³μ νΈμ΄μ€ν
μμ var
λ‘ μ μΈλ λ³μλ μ μΈκ³Ό ν λΉμ΄ ν λ²μ μ΄λ£¨μ΄μ§λ©°, μ μΈλΆκ° λμ΄μ¬λ €μ Έ undefined
λ‘ μ΄κΈ°νλ©λλ€.
3.2. ν¨μ νΈμ΄μ€ν
sayHello(); // "Hello, World!"
function sayHello() {
console.log("Hello, World!");
}
ν¨μ μ μΈμμ μ μ²΄κ° νΈμ΄μ€ν λμ΄ μ°Έμ‘°ν μ μμ΅λλ€. ν¨μκ° μ μΈλκΈ° μ μ νΈμΆμ΄ κ°λ₯ν©λλ€.
3.3. ν¨μ ννμμμμ νΈμ΄μ€ν
sayHi(); // TypeError: sayHi is not a function
var sayHi = function() {
console.log("Hi!");
};
ν¨μ ννμμμλ λ³μλ§ νΈμ΄μ€ν λμ΄ μ μΈλΆκ° λμ΄μ¬λ €μ§μ§λ§, ν¨μ μ체λ λμ΄μ¬λ €μ§μ§ μμ΅λλ€. λ°λΌμ νΈμΆμ΄ λΆκ°λ₯ν©λλ€.
4. νΈμ΄μ€ν μ μ₯λ¨μ
4.1. μ₯μ
- μ½λ μ΄ν΄ μ©μ΄μ±: νΈμ΄μ€ν μ μ΄ν΄νλ©΄ μ½λμ λμμ μμΈ‘νκΈ° μ¬μμ§λλ€.
- μ μΈμ μμμ κ΄κ³ μμ΄ μ¬μ©: μ μΈ μμμ μ€ν μμμ λΆμΌμΉλ‘ μΈν μλ¬λ₯Ό λ°©μ§ν©λλ€.
4.2. λ¨μ
- λ²κ·Έ λ°μ κ°λ₯μ±: μμμΉ λͺ»ν λμμΌλ‘ μΈν΄ λ²κ·Έκ° λ°μν μ μμ΅λλ€.
- κ°λ μ± νλ½: μ½λ μμ±μκ° μλν μ€ν μμμ νΈμ΄μ€ν λμμ΄ μΌμΉνμ§ μμ κ²½μ° κ°λ μ±μ΄ λ¨μ΄μ§λλ€.
5. μ°κ΄λ κΈ°μ : ν¨μ ννμκ³Ό ν¨μ μ μΈμ
νΈμ΄μ€ν κ³Ό κ΄λ ¨λ κΈ°μ λ‘ ν¨μ ννμκ³Ό ν¨μ μ μΈμμ΄ μμ΅λλ€. ν¨μ μ μΈμμ μ μ²΄κ° νΈμ΄μ€ν λμ§λ§, ν¨μ ννμμ λ³μλ§ νΈμ΄μ€ν λλ―λ‘ μ£Όμκ° νμν©λλ€.
// ν¨μ μ μΈμ
function add(a, b) {
return a + b;
}
// ν¨μ ννμ
var multiply = function(a, b) {
return a * b;
};
6. κ²°λ‘
νΈμ΄μ€ν μ μλ°μ€ν¬λ¦½νΈμ νΉμ§ μ€ νλλ‘, μ½λλ₯Ό μμ±νκ³ μ΄ν΄νλ λ°μ μμ΄ μ£Όμκ° νμν©λλ€. μ½λμ κ°λ μ±κ³Ό μ μ§λ³΄μμ±μ λμ΄λ €λ©΄ νΈμ΄μ€ν λμμ μ μ΄ν΄νκ³ μ μ ν νμ©ν΄μΌ ν©λλ€.
'IT' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μ»΄νμΌλ¬: μ½λ λ²μμ λκ° (0) | 2024.02.26 |
---|---|
μΈν°ν리ν°: μ½λλ₯Ό μ€ννλ λμ μΈμ΄ μ²λ¦¬κΈ° (0) | 2024.02.26 |
μλ°μ€ν¬λ¦½νΈ ν΄λ‘μ : μ½λμ λΉλ° κ³΅κ° (0) | 2024.02.26 |
ν΄λΌμ΄μΈνΈ μ¬μ΄λ λ λλ§(Client-Side Rendering)μ μ΄ν΄μ νμ© (0) | 2024.02.23 |
κ°λ° λ°©λ²λ‘ : νλ‘μ νΈλ₯Ό ν¨μ¨μ μΌλ‘ μ΄λμ΄κ°λ μ§μΉ¨μ (0) | 2024.02.22 |
λκΈ