15.1 var ν€μλλ‘ μ μΈν λ³μμ λ¬Έμ μ
15.1.1 λ³μ μ€λ³΅ μ μΈ νμ©
λμΌν μ΄λ¦μ λ³μ μ μΈμ΄ κ°λ₯ν¨.
15.1.2 ν¨μ λ 벨 μ€μ½ν
μ€λ‘μ§ ν¨μμ μ½λ λΈλ‘λ§μ μ§μ μ€μ½νλ‘ μ ν¨.
-> μΈλΆμμ var ν€μλλ‘ μ μΈν λ³μ : λͺ¨λ μ μ λ³μκ° λ¨.
15.1.3 λ³μ νΈμ΄μ€ν
λ³μ νΈμ΄μ€ν μ μν΄ vay ν€μλλ‘ μ μΈν λ³μλ
λ³μ μ μΈλ¬Έ μ΄μ μ μ°Έμ‘°ν μ μλ€.
15.2 let ν€μλ
15.2.1 λ³μ μ€λ³΅ μ μΈ κΈμ§
μ€λ³΅μΌλ‘ μ μΈ μλ¨.
15.2.2 λΈλ‘ λ 벨 μ€μ½ν
λͺ¨λ μ½λ λΈλ‘μ μ§μ μ€μ½νλ‘ μΈμ νλ λΈλ‘ λ 벨 μ€μ½νλ₯Ό λ°λ₯Έλ€.
15.2.3 λ³μ νΈμ΄μ€ν
λ³μ νΈμ΄μ€ν μ΄ λ°μνμ§ μλ κ²μ²λΌ λμνλ€.
μ μΈλ¬Έ μ΄μ μ μ°Έμ‘°νλ©΄, ReferenceError λ°μν¨.
let μΌλ‘ μ μΈν λ³μλ 'μ μΈ λ¨κ³' μ 'μ΄κΈ°ν λ¨κ³'κ° λΆλ¦¬λμ΄ μ§νλ¨.
=> μ¦, μ μΈλ¨κ³κ° λ¨Όμ μ€νλμ§λ§, μ΄κΈ°ν λ¨κ³λ λ³μ μ μΈλ¬Έμ λλ¬νμ λ μ€νλ¨.
μΌμμ μ¬κ°μ§λ :: μ€μ½ν μμ μμ ~ μ΄κΈ°ν μμ :: λ³μλ₯Ό μ°Έμ‘° ν μ μλ ꡬκ°
15.2.4 μ μ κ°μ²΄μ let
var ν€μλλ‘ μ μΈν μ μ λ³μ,
μ μ ν¨μ,
κ·Έλ¦¬κ³ μ μΈνμ§ μμ λ³μμ κ°μ ν λΉν μ묡μ μ μ
=> 3κ°μ§λ μ μ κ°μ²΄ window μ νλ‘νΌν°κ° λ¨.
μ μ κ°μ²΄μ νλ‘νΌν°λ₯Ό μ°Έμ‘°ν λ window λ₯Ό μλ΅ν μ μμ.
νμ§λ§ letμΌλ‘ μ μΈν μ μ λ³μλ μ μ κ°μ²΄μ νλ‘νΌν°κ° μλ.
15.3 const ν€μλ
μμλ₯Ό μ μΈνκΈ° μν΄ μ¬μ©.
let ν€μλμ λλΆλΆ λΉμ·νκ³ , λ€λ₯Έ μ μμ£Όλ‘ μλ μμ
15.3.1 μ μΈκ³Ό μ΄κΈ°ν
const ν€μλλ‘ μ μΈν λ³μλ λ°λμ μ μΈκ³Ό λμμ μ΄κΈ°ν ν΄μΌνλ€.
let κ³Ό κ°μ΄ λΈλ‘λ 벨 μ€μ½νλ₯Ό κ°μ§.
15.3.2 μ¬ν λΉ κΈμ§
var, let λ³μλ μ¬ν λΉ μμ λ‘μ
const λ μ¬ν λΉ κΈμ§
15.3.3 μμ
μμκ°μ ν λΉν κ²½μ° -> λ³μ κ°μ λ³κ²½ν μ μμ.
μμ: μ¬ν λΉμ΄ κΈμ§λ λ³μλ₯Ό μλ―Έ.
15.3.4 const ν€μλμ κ°μ²΄
const ν€μλλ‘ μ μΈλ λ³μμ κ°μ²΄λ₯Ό ν λΉν κ²½μ°, κ°μ λ³κ²½ν μ μλ€.
κ°μ²΄λ μ¬ν λΉ μμ΄λ λ΄μ© λ³κ²½μ΄ κ°λ₯νκΈ° λλ¬Έ.
const ν€μλλ μ¬ν λΉμ κΈμ§ν λΏ, 'λΆλ³'μ μλ―Ένμ§ μλλ€.
=> μλ‘μ΄ κ°μ μ¬ν λΉ νλ κ²μ΄ λΆκ°λ₯νμ§λ§,
νλ‘νΌν°μ λμ μμ±, μμ , νλ‘νΌν° κ°μ λ³κ²½μ ν΅ν΄ κ°μ²΄λ₯Ό λ³κ²½νλ κ²μ κ°λ₯.
15.4 var vs let vs const
- ES6 μ¬μ© μ var ν€μλ μ¬μ©νμ§ μκΈ°.
- μ¬ν λΉμ΄ νμν κ²½μ° νμ let μ¬μ©. μ΄ λ λ³μμ μ€μ½νλ μ΅λν μ’κ²
- λ³κ²½ λ°μ μνλ μμκ°, κ°μ²΄λ const ν€μλ μ¬μ©. μμ ν¨.
- const μ¬μ©νλ€κ° νμμ letμΌλ‘ λ°κΎΈλ©΄ λλ€.
'λ μ λͺ©λ‘ > λͺ¨λ₯λ€ Modern JS Deep Dive' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λͺ¨λ₯λ€] 17μ₯ μμ±μ ν¨μμ μν κ°μ²΄ μμ± (0) | 2023.05.09 |
---|---|
[λͺ¨λ₯λ€] 16μ₯ νλ‘νΌν° μ΄νΈλ¦¬λ·°νΈ (0) | 2023.05.08 |
[λͺ¨λ₯λ€] 14μ₯ μ μ λ³μμ λ¬Έμ μ (0) | 2023.05.06 |
[λͺ¨λ₯λ€] 13μ₯ μ€μ½ν (0) | 2023.05.05 |
[λͺ¨λ₯λ€] 12μ₯ ν¨μ (0) | 2023.05.04 |