let, const ν€μλμ λΈλ‘ λ 벨 μ€μ½ν
var ν€μλ λ³μ λ¬Έμ μ
μ€λ³΅μ μΈ νμ©
ν¨μλ 벨 μ€μ½ν
- var ν€μλλ‘ μ μΈν λ³μλ μ€λ‘μ§ ν¨μ μ€μ½ν λ΄μμλ§ μ§μ μ€μ½νλ‘ μΈμ λ©λλ€.
var x = 1;
if (true) {
// xλ μ μ λ³μλ€. μ΄λ―Έ μ μΈλ μ μ λ³μ xκ° μμΌλ―λ‘ x λ³μλ μ€λ³΅ μ μΈλλ€.
// μ΄λ μλμΉ μκ² λ³μκ°μ΄ λ³κ²½λλ λΆμμ©μ λ°μμν¨λ€.
var x = 10;
}
console.log(x); // 10
λ³μ νΈμ΄μ€ν
- var ν€μλ μ΄μ©μ νΈμ΄μ€ν μ μν΄ ν λΉ μ΄μ μ μ°Έμ‘° κ°λ₯
// μ΄ μμ μλ λ³μ νΈμ΄μ€ν
μ μν΄ μ΄λ―Έ foo λ³μκ° μ μΈλμλ€(1. μ μΈ λ¨κ³)
// λ³μ fooλ undefinedλ‘ μ΄κΈ°νλλ€. (2. μ΄κΈ°ν λ¨κ³)
console.log(foo); // undefined
// λ³μμ κ°μ ν λΉ(3. ν λΉ λ¨κ³)
foo = 123;
console.log(foo); // 123
// λ³μ μ μΈμ λ°νμ μ΄μ μ μλ°μ€ν¬λ¦½νΈ μμ§μ μν΄ μ묡μ μΌλ‘ μ€νλλ€.
var foo;
let ν€μλ
λ³μ μ€λ³΅ μ μΈ κΈμ§
let
ν€μλλ λ³μλ₯Ό μ€λ³΅ μ μΈνλ©΄ λ¬Έλ² μλ¬κ° λ°μν©λλ€.
λΈλ‘ λ 벨 μ€μ½ν
let
ν€μλλ‘ μ μΈν λ³μλ λͺ¨λ μ½λλΈλ‘ μ μ§μ μ€μ½νλ‘ μΈμ ν©λλ€.- ν¨μ λ΄μ μ½λ λΈλ‘μ ν¨μ λ 벨 μ€μ½νμ μ€μ²© λ©λλ€.
λ³μ νΈμ΄μ€ν
let
ν€μλλ‘ μ μΈν λ³μλ λ³μ νΈμ΄μ€ν μ΄ λ°μνμ§ μλ κ²μ²λΌ λμν©λλ€.
console.log(foo); // ReferenceError: foo is not defined
let foo;
let
μΌλ‘ μ μΈν λ³μλ μ μΈλ¨κ³μ μ΄κΈ°νλ¨κ³κ° λΆλ¦¬λμ΄ μ§ν λ©λλ€.var
λ λ°νμ μ΄μ μ μ μΈλκ³ undefinedλ‘ ν λΉ λ¨- λ°νμ μ΄μ μ μ μΈλ¨κ³ μ€νλμ§λ§ λ³μ μ μΈλ¬Έμ λμ°©νμ λ μ΄κΈ°ν λ©λλ€. (μ μΈλ¬Έ μ΄μ μ μ°Έμ‘°νλ € νλ©΄ λ¬Έλ²μλ¬)
let
λ³μλ μ€μ½νμ μμ μ§μ λΆν° μ΄κΈ°ν λ¨κ³ μμ μ§μ (λ³μ μ μΈλ¬Έ)κΉμ§ λ³μλ₯Ό μ°Έμ‘° ν μ μμ΅λλ€. μ΄ κ΅¬κ°μ μΌμμ μ¬κ°μ§λ(TDZ : Temporal Dead Zone
)μ΄λΌκ³ ν©λλ€.- es6μμ λμ
λ
let
,const
,class
λ₯Ό μ¬μ©ν μ μΈλ¬Έμ νΈμ΄μ€ν μ΄ λ°μνμ§ μλ κ² μ²λΌ λμν©λλ€.μ€μ λ‘λ νΈμ΄μ€ν λκ³ varλ μ°¨μ΄λ μμμ λ§ν μ μΈ ,μ΄κΈ°ν λΆλ¦¬μ TDZ
μ μ κ°μ²΄μ let
let
ν€μλλ‘ μ μΈν μ μ λ³μλvar
μ λ¬λ¦¬ μ μ κ°μ²΄μ νλ‘νΌν°κ° μλλ€.let
μ μ λ³μλ 보μ΄μ§ μλ κ°λ μ μΈ λΈλ‘ (μ μ λ μ컬 νκ²½μ μ μΈμ νκ²½ λ μ½λ) λ΄μ μ‘΄μ¬νκ² λ©λλ€.
const ν€μλ
let
κ³Ό λμμ λΉμ·νκ² νλ μ°¨μ΄κ° μμ΅λλ€.
μ μΈκ³Ό μ΄κΈ°ν
const
λ‘ μ μΈν λ³μλ λ°λμ μ μΈκ³Ό λμμ μ΄κΈ°ν ν΄μΌν©λλ€.- μ΄κΈ°ν κ²½μ°
let
μ²λΌ λΈλ‘ λ 벨 μ€μ½νλ₯Ό κ°μ§λ©° νΈμ΄μ€ν λ°μνμ§ μλ κ²μ²λΌ λμ
μ¬ν λΉ κΈμ§
const
λ³μλ μ¬ν λΉμ΄ κΈμ§λλ€.- μ΄λ¬ν κ·μΉμ μ¬μ©ν΄ μμλ₯Ό νννλλ° μ¬μ©ν©λλ€
μμλ μ¬ν λΉμ΄ κΈμ§λ λ³μλ₯Ό λ§ν©λλ€.
const
λ³μμ μμκ°μ λ£μΌλ©΄ λ³κ²½μ΄ λΆκ°λ₯ ν©λλ€μμ κ°μ λ³κ²½μ΄ λΆκ°λ₯ν κ°μ΄κ³
const
μ¬μ©μ λ³μμ μ¬ν λΉμ΄ λΆκ°λ₯ νκΈ° λλ¬Έ
const ν€μλμ κ°μ²΄
const
ν€μλλ‘ μ μΈλ λ³μμ κ°μ²΄λ₯Ό ν λΉν κ²½μ° κ°μ λ³κ²½ν μ μμ΅λλ€.
(λ³μμ ν λΉλ μ°Έμ‘° κ°μ΄ λ³νλ κ²μ΄ μλκΈ° λλ¬Έμ)
μ 리
- λ³μ μ μΈμλ κΈ°λ³Έμ μΌλ‘ const μ¬μ©, μ¬ν λΉμ΄ νμν κ²½μ°μλ§ let μ¬μ©
- varλ μ¬μ© x
- λ³μμ μ€μ½νλ μ΅λν μ’κ² λ§λ€μ΄μΌ ν¨
'javascript > π study' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[3μ£Όμ°¨ μ€ν°λ] 17μ₯-μμ±μ ν¨μ (0) | 2022.02.14 |
---|---|
[3μ£Όμ°¨ μ€ν°λ] 16μ₯ νλ‘νΌν°, μ΄νΈλ¦¬λ·°νΈ (0) | 2022.02.14 |
[2μ£Όμ°¨ μ€ν°λ]14μ₯-μ μλ³μ λ¬Έμ μ (0) | 2022.02.06 |
[2μ£Όμ°¨ μ€ν°λ]13μ₯- μ€μ½ν (0) | 2022.02.06 |
[2μ£Όμ°¨ μ€ν°λ]12μ₯-ν¨μ (0) | 2022.02.06 |
λκΈ