<aside> πŸ“Œ

undefined

λ³€μˆ˜ 선언에 μ˜ν•΄ ν™•λ³΄λœ λ² λͺ¨λ¦¬ 곡간을 처음 할당이 μ΄λ€„μ§ˆ λ•ŒκΉŒμ§€ 빈 μƒνƒœλ‘œ 내버렀두지 μ•Šκ³ , μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진은 undefined둜 μ΄ˆκΈ°ν™” ν•œλ‹€.

λ”°λΌμ„œ μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진에 μ˜ν•΄ undefined둜 μ΄ˆκΈ°ν™” ν•˜λŠ” 것이 μ•„λ‹ˆλΌ

κ°œλ°œμžκ°€ β€œμ˜λ„μ β€μœΌλ‘œ undefinedλ₯Ό λ³€μˆ˜μ— ν• λ‹Ήν•˜λŠ” 것은 본래 취지와 μ–΄κΈ‹λ‚  뿐 μ•„λ‹ˆλΌ ν˜Όλž€μ„ 쀄 수 μžˆμ–΄μ„œ ꢌμž₯ν•˜μ§€ μ•ŠλŠ”λ‹€.

βœοΈΒ λ§Œμ•½, λ³€μˆ˜μ— 값이 μ—†λ‹€λŠ” 것을 μ˜λ„μ μœΌλ‘œ λͺ…μ‹œν•˜κ³  싢을 땐?

β†’ null

</aside>

<aside> πŸ“Œ

null

null은 λ³€μˆ˜μ— 값이 μ—†λ‹€λŠ” 것을 μ˜λ„μ μœΌλ‘œ λͺ…μ‹œν•  λ•Œ μ‚¬μš©ν•œλ‹€.

⭐️ λ³€μˆ˜μ— null을 ν• λ‹Ήν•˜λŠ” 것은 λ³€μˆ˜κ°€ 이전에 μ°Έμ‘°ν•˜λ˜ 값을 더 이상 μ°Έμ‘°ν•˜μ§€ μ•Šκ² λ‹€λŠ” 의미

이전에 ν• λ‹Ήλ˜μ–΄ 있던 값에 λŒ€ν•œ μ°Έμ‘°λ₯Ό β€œλͺ…μ‹œμ μœΌλ‘œ μ œκ±°ν•˜λŠ” 것”을 μ˜λ―Έν•˜λ©°, μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진은 κ°€λΉ„μ§€ μ½œλ ‰μ…˜μ„ μˆ˜ν–‰ν•  것이닀.

</aside>

let variable;
console.log(variable); //undefined

variable = null;
console.log(variable); //null

β†’ λ³€μˆ˜λ₯Ό μ„ μ–Έλ§Œ ν•œ 경우,

λ³€μˆ˜ κ³΅κ°„λ§Œ λ‚¨μ•„μžˆκ³  값이 μ •ν•΄μ§€μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ— undefinedκ°€ 좜λ ₯

β†’ null μ΄λΌλŠ” 값을 ν• λ‹Ή ν•œ 경우,

β€œλͺ…μ‹œμ β€μœΌλ‘œ 값이 μ—†λ‹€ 라고 μ§€μ •ν•΄ μ€€ 것이닀.

✏

let activeItem; // 아직 ν™œμ„±ν™”λœ μ•„μ΄ν…œμ΄ μžˆλŠ”μ§€ μ—†λŠ”μ§€ λͺ¨λ₯΄λŠ” μƒνƒœ!
activeItem = null; // ν™œμ„±ν™”λœ μ•„μ΄ν…œμ΄ μ—†λŠ” μƒνƒœ!

✏

**console.log(typeof null); //object**

console.log(typeof undefined); //undefined

typeof μ—°μ‚°μžλ‘œ null 값을 μ—°μ‚°ν•΄ 보면 β€œnull”이 μ•„λ‹Œ β€œobjectβ€λ‘œ λ°˜ν™˜λœλ‹€.

이것은 μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ 첫 번째 λ²„μ „μ˜ 버그이닀.