μλ°μ€ν¬λ¦½νΈμμ λ³μλ₯Ό μ μΈν λ μ¬μ©νλ ν€μλλ var, let, const μ΄λ κ² μ΄ 3κ°μ§κ° μ‘΄μ¬νλ€.
1. var
var ν€μλλ ES6 μ΄μ ( let, constκ° λμ€κΈ° μ΄μ )μ λ³μλ₯Ό μ μΈν λ μ¬μ©νλ ν€μλμλ€.
var ν€μλλ₯Ό μ¬μ©νμ¬ λ³μλ₯Ό μ μΈνλ©΄ λ°νμ μ΄μ μ μλ°μ€ν¬λ¦½νΈ μμ§μ μν΄ μ묡μ μΌλ‘ "μ μΈ"λ¨κ³μ "μ΄κΈ°ν"λ¨κ³λ₯Ό κ±°μΉκ² λλ€. μ μΈ λ¨κ³μμλ μ€μ½νμ λ³μ μλ³μλ₯Ό λ±λ‘ν΄ μλ°μ€ν¬λ¦½νΈ μμ§μ λ³μμ μ‘΄μ¬λ₯Ό μλ¦¬κ³ κ·Έ μ¦μ μ΄κΈ°ν λ¨κ³μμ undefinedλ‘ λ³μλ₯Ό μ΄κΈ°ννλ€.
var ν€μλλ λ³μ λΈλ‘μ κ³ λ €νμ§ μκ³ , νμ¬ ν¨μ(var ν€μλλ₯Ό μ μΈν ν¨μ)λλ μ μ μ€μ½ν μ΄λμμλ μ κ·Όν μ μλ λ³μλ₯Ό μ μΈνλ€.
// λ³μ aμ λν΄ μ μΈ.
var a;
μ΄λ κ² λλ©΄ λ³μ μ μΈλ¬Έ μ΄μ μ λ³μμ μ κ·Όν΄λ μ€μ½νμ λ³μκ° μ‘΄μ¬νκΈ° λλ¬Έμ μλ¬κ° λ°μνμ§ μκ³ undefinedλ₯Ό λ°ννλ€. μ΄νμ λ³μ ν λΉλ¬Έμ ν΅ν΄ κ°μ΄ ν λΉλλ€.
// λ³μ aμ 1μ ν λΉ.
a = 1;
// var ν€μλλ μ¬μ μΈλ κ°λ₯νλ€.
var a = 'νλ';
var ν€μλλ μ¬ν λΉλΏλ§ μλλΌ, μμκ°μ΄ μ¬μ μΈλ κ°λ₯νλ€.
π var ν€μλλ μλ°μ€ν¬λ¦½νΈ μμ§μ μν΄ μ μΈκ³Ό λμμ μ묡μ μΌλ‘ undefinedλ‘ μ΄κΈ°ν λλ©°, λ³μμ μ¬μ μΈ λ° μ¬ν λΉμ΄ κ°λ₯νλ€.
2. let
let ν€μλλ‘ μ μΈν λ³μλ "μ μΈ"λ¨κ³μ "μ΄κΈ°ν" λ¨κ³κ° λλμ΄μ Έμ μ§νλλ€.
λ°νμ μ΄μ μ μλ°μ€ν¬λ¦½νΈ μμ§μ μν΄ μ묡μ μΌλ‘ μ μΈ λ¨κ³κ° λ¨Όμ μ€νλμ§λ§ μ΄κΈ°ν λ¨κ³λ λ³μ μ μΈλ¬Έμ λλ¬νμ λ μ€νλκΈ° λλ¬Έμ, μ΄κΈ°ν λ¨κ³ μ΄μ μ λ³μμ μ κ·Όνλ €κ³ νλ©΄ var ν€μλ κ°μ΄ undefined κ° λ°νλλ κ²μ΄ μλλΌ μ°Έμ‘° μλ¬(Refference Error)κ° λ°μνλ€.
let ν€μλλ‘ μ μΈν λ³μλ var ν€μλμλ λ€λ₯΄κ² λΈλ‘ λ 벨 μ€μ½νλ₯Ό κ°μ§λ€.
3. const
const ν€μλλ 'μμ(constant)' μ μΈμ μν΄ μ£Όλ‘ μ¬μ©νλ€. const ν€μλλ let ν€μλμ λΉμ·νμ§λ§ λ€λ₯Έ μ λ€μ΄ λͺκ° μ§μλ€. μ°μ const ν€μλλ μ μΈκ³Ό λμμ μ΄κΈ°νλ₯Ό ν΄μΌνκ³ , κ·Έλ μ§ μμΌλ©΄ μλμ κ°μ λ¬Έλ² μλ¬κ° λ°μνλ€.
const ν€μλλ let ν€μλμ²λΌ λΈλ‘ λ 벨 μ€μ½νλ₯Ό κ°μ§μ§λ§ let ν€μλμλ λ€λ₯΄κ² λ³μμ μ¬μ μΈλΏλ§ μλλΌ, μ¬ν λΉ λν λΆκ°λ₯ νλ€.
νμ§λ§ μ¬ν λΉ μμ΄ κ°μ λ³κ²½ν μ μλ κ°μ²΄μ νΉμ±μ const ν€μλλ‘ μ μΈλ λ³μμ κ°μ²΄ κ°μ΄ ν λΉ λ κ²½μ°μλ κ°μ λ³κ²½ν μ μλ€.
μ°Έκ³ μλ£ )
λͺ¨λ μλ°μ€ν¬λ¦½νΈ DEEP DIVE - μ΄μ λͺ¨ / μν€λΆμ€
'JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[ JavaScript / Promise ] μλ°μ€ν¬λ¦½νΈμ Promiseμ λνμ¬ (0) | 2022.10.20 |
---|---|
[ JavaScript ] undefinedμ nullμ μ°¨μ΄μ λν΄ μμ보기. (0) | 2022.07.17 |
[ JavaScript / Error ] μλ°μ€ν¬λ¦½νΈμ Error κ°μ²΄ (0) | 2022.06.22 |
[ Javascript ] μμ κ°κ³Ό κ°μ²΄μ μ°¨μ΄μ λν΄ μμ보기. (0) | 2022.05.12 |
[ Javascript ] μλ°μ€ν¬λ¦½νΈ String μ 리. (0) | 2022.05.03 |