hoist: λ€μ΄[λμ΄]μ¬λ¦¬λ€
νΈμ΄μ€ν μ ν¨μ μμ μλ μ μΈλ€μ λͺ¨λ ν΄λΉ ν¨μ μ ν¨ λ²μμ μ΅μλ¨μ μ μΈνλκ²μ λ§νλ€. μλ°μ€ν¬λ¦½νΈ ν¨μλ μ€νλκΈ° μ ν¨μ μμ νμν λ³μκ°λ€μ λͺ¨λ λͺ¨μμ μ ν¨λ²μμ μ΅μλ¨μ μ μΈνλ€.
// var μ μΈμ΄ νΈμ΄μ€ν
λλ€.
console.log(foo); // undefined
var foo = 1;
console.log(foo); // 1
// let, constλ νΈμ΄μ€ν
λμ§ μλλ€.
console.log(bar); // ReferenceError: bar is not defined
let bar = 2;
console.log(bar); // 2ν¨μ μ μΈμ ν¨μ λͺΈμ²΄κ° νΈμ΄μ€ν λλ λ°λ©΄, λ³μ μ μΈ ννλ‘ μμ±λ ν¨μ ννμμ λ³μ μ μΈλ§ νΈμ΄μ€ν λλ€.
// ν¨μμ μΈ
console.log(foo); // [Function: foo]
foo(); // foooo!
function foo() {
console.log("fooo!");
}
console.log(foo); // [Function: foo]
// ν¨μ ννμ
console.log(bar); // undefined
bar(); // Uncaught TypeError: bar is not a function
var bar = function () {
console.log("barrr!");
};
console.log(bar); // [Function: bar]- CreatedAt 2022.12.01
- UpdatedAt 2022.12.04