π‘ λ³μ (Variable)
κ°μ μ μ₯ν μ μμΌλ©° κ° ν λΉ ν λ³κ²½μ΄ κ°λ₯ν μ΄λ¦μ΄ λΆμ λ©λͺ¨λ¦¬ 곡κ°
π‘ μμ (Constant)
κ°μ μ μ₯ν μ μμΌλ©° μ΄κΈ°κ° ν λΉ ν λ³κ²½μ΄ λΆκ°λ₯ν μ΄λ¦μ΄ λΆμ λ©λͺ¨λ¦¬ 곡κ°
let
Β const
Β var
let | const | var | |
---|---|---|---|
μ΄κΈ°ν | uninitialized | uninitialized | undefined |
μ€μ½ν | λΈλ‘ μ€μ½ν | λΈλ‘ μ€μ½ν | ν¨μ μ€μ½ν |
μ€λ³΅ μ μΈ νμ© | β | β | β |
TDZ | β | β | β |
νΈμ΄μ€ν | β | β | β |
κ° λ³κ²½ | β | β | β |
λ¨κ³ | μ μΈ, μ΄κΈ°ν, ν λΉ μ΄ λ°λ‘ μΌμ΄λ¨ | μ μΈ + μ΄κΈ°ν + ν λΉ μ΄ λμμ μΌμ΄λ¨ | μ μΈ + μ΄κΈ°ν κ° λμμ μΌμ΄λ¨ |
π λΈλ‘ μ€μ½νλ?
π‘ μ¦μ μ€ν ν¨μ (IIFE; Immediately Invoked Function Expression)
μ΅λͺ ν¨μλ₯Ό μ μνλ λμμ μ€νμν€λ κΈ°λ²μ λλ€.
// 3κ°μ§ λ°©λ² λͺ¨λ λμΌνκ² λμν©λλ€.
(function() {
console.log("μ¦μ μ€ν");
})();
!function() {
console.log("μ¦μ μ€ν");
}();
+function() {
console.log("μ¦μ μ€ν");
}();
π¨ μμ μΈλ―Έμ½λ‘ μ΄ μμΌλ©΄ μΈλ―Έμ½λ‘ μλ μ½μ
(ASI) μ΄ λμ§ μμ μλͺ» μλν μνμ΄ μμ΅λλ€.
(μ΄λ₯Ό ν΄κ²°νκΈ° μν΄ κ΄νΈλ‘ κ°μΈλ λμ 맨 μμ !, + λ₯Ό λΆμ¬μ°κΈ°λ ν©λλ€.)