<star />

null 과 undefined 의 차이점 본문

JavaScript πŸ“

null 과 undefined 의 차이점

별깅 2022. 12. 21. 01:55
728x90

1. null

 

1)  null νƒ€μž…μ˜ 값은 null 이 μœ μΌν•˜λ‹€.

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

3) λ³€μˆ˜μ— null 을 ν• λ‹Ήν•˜λŠ” 것은 λ³€μˆ˜κ°€ 이전에 μ°Έμ‘°ν•˜λ˜ 값을 더 이상 μ°Έμ‘°ν•˜μ§€ μ•Šκ² λ‹€λŠ” μ˜λ―Έλ‹€.

     μ΄λŠ” 이전에 ν• λ‹Ήλ˜μ–΄ 있던 값에 λŒ€ν•œ μ°Έμ‘°λ₯Ό λͺ…μ‹œμ μœΌλ‘œ μ œκ±°ν•˜λŠ” 것을 μ˜λ―Έν•˜λ©°,

     μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진은 λˆ„κ΅¬λ„ μ°Έμ‘°ν•˜μ§€ μ•ŠλŠ” λ©”λͺ¨λ¦¬ 곡간에 λŒ€ν•΄ κ°€λΉ„μ§€ μ½œλ ‰μ…˜μ„ μˆ˜ν–‰ν•  것이닀.

 

const theboyz = 'tbz';

//이전 μ°Έμ‘°λ₯Ό μ œκ±°ν•œλ‹€
//theboyz λ³€μˆ˜λŠ” 더 이상 'tbz' λ₯Ό μ°Έμ‘°ν•˜μ§€ μ•ŠμŒ!
//λ³€μˆ˜μ˜ μŠ€μ½”ν”„λ₯Ό 쒁게 λ§Œλ“€μ–΄ λ³€μˆ˜ 자체λ₯Ό 재빨리 μ†Œλ©Έμ‹œν‚€λŠ” 편이 λ‚˜μŒ
theboyz = null;

 

ν•¨μˆ˜κ°€ μœ νš¨ν•œ 값을 λ°˜ν™˜ν•  수 μ—†λŠ” 경우 λͺ…μ‹œμ μœΌλ‘œ null 을 λ°˜ν™˜ν•˜κΈ°λ„ 함.

 

const ele = document.querySelector('.tbz');

//HTML λ¬Έμ„œμ— tbz 클래슀λ₯Ό κ°–λŠ” μš”μ†Œκ°€ μ—†λ‹€λ©΄ null 을 λ°˜ν™˜ν•œλ‹€!
console.log(ele);	//null

 

2. undefined

 

1) undefined νƒ€μž…μ˜ 값은 undefined κ°€ μœ μΌν•˜λ‹€.

2) λ³€μˆ˜λ₯Ό μ„ μ–Έν•œ 이후 값을 ν• λ‹Ήν•˜μ§€ μ•Šμ€ λ³€μˆ˜λ₯Ό μ°Έμ‘°ν•˜λ©΄ undefined κ°€ λ°˜ν™˜λœλ‹€.

3) undefined λŠ” κ°œλ°œμžκ°€ μ˜λ„μ μœΌλ‘œ ν• λ‹Ήν•˜κΈ° μœ„ν•œ 값이 μ•„λ‹Œ, μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진이 λ³€μˆ˜λ₯Ό μ΄ˆκΈ°ν™”ν•  λ•Œ μ‚¬μš©ν•˜λŠ” 값이닀.

4) λ³€μˆ˜λ₯Ό μ°Έμ‘°ν–ˆμ„ λ•Œ, undefined κ°€ λ°˜ν™˜λœλ‹€λ©΄ μ°Έμ‘°ν•œ λ³€μˆ˜κ°€ μ„ μ–Έ 이후 값이 ν• λ‹Ήλœ 적이 μ—†λŠ”, 즉 μ΄ˆκΈ°ν™”λ˜μ§€ μ•Šμ€ λ³€μˆ˜λΌλŠ” 것을 κ°„νŒŒ κ°€λŠ₯.

5) undefinedλŠ” μžλ£Œν˜•μ΄ μ—†λŠ” μƒνƒœλ‹€.

  • 값을 ν• λ‹Ήν•˜μ§€ μ•Šμ€ λ³€μˆ˜
  • λ©”μ„œλ“œμ™€ μ„ μ–Έμ—μ„œ λ³€μˆ˜κ°€ ν• λ‹Ήλ°›μ§€ μ•Šμ€ 경우
  • ν•¨μˆ˜κ°€ 값을 return ν•˜μ§€ μ•Šμ•˜μ„ λ•Œ

 

var foo;
console.log(foo)	// undefined

 

 

κ·Έλ ‡λ‹€λ©΄...

λ³€μˆ˜μ— 값이 μ—†λ‹€λŠ” 것을 λͺ…μ‹œν•˜κ³  싢을 λ•ŒλŠ” μ–΄λ–»κ²Œ ν•΄μ•Ό ν• κΉŒ? undefined λ₯Ό ν• λ‹Ήν•˜λŠ” 것이 μ•„λ‹ˆλΌ, null 을 ν• λ‹Ήν•˜μž. 🧐

 

!!!κ²°λ‘ !!!

null은 λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜κ³  빈 값을 ν• λ‹Ήν•œ μƒνƒœ(빈 객체)

undefined은 λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜κ³  값을 ν• λ‹Ήν•˜μ§€ μ•Šμ€ μƒνƒœ

728x90

'JavaScript πŸ“' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

Ajax  (0) 2022.12.30
κ°€λΉ„μ§€ μ½œλ ‰ν„° (garbage collector)  (0) 2022.12.22
이벀트 루프와 νƒœμŠ€ν¬ 큐  (0) 2022.12.18
동기/비동기  (0) 2022.12.10
ν˜Έμ΄μŠ€νŒ…(hoisting)  (0) 2022.12.09
Comments