Programing Language/Javascript

[Javascript] undefined, null 의 μ •μ˜μ™€ 차이

JHeaon ・ 2023. 3. 17. 03:18



πŸ“š Javascript undefined vs null

undefined은 λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜κ³  값을 ν• λ‹Ήν•˜μ§€ μ•Šμ€ μƒνƒœ, null은 λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜κ³  빈 값을 ν• λ‹Ήν•œ μƒνƒœ(빈 객체)이닀. 즉, undefinedλŠ” μžλ£Œν˜•μ΄ μ—†λŠ” μƒνƒœμ΄λ‹€.

 

 

πŸ“’ undefined

undefinedλŠ” μ›μ‹œκ°’μœΌλ‘œ, μ„ μ–Έν•œ 후에 값을 ν• λ‹Ήν•˜μ§€ μ•Šμ€ λ³€μˆ˜λ‚˜ 값이 주어지지 μ•Šμ€ μΈμˆ˜μ— μžλ™μœΌλ‘œ ν• λ‹Ήλœλ‹€. 이 값은 μ „μ—­ 객체의 속성 쀑 ν•˜λ‚˜λ‘œ, μ „μ—­ μŠ€μ½”ν”„μ—μ„œμ˜ λ³€μˆ˜μ΄κΈ°λ„ ν•˜λ‹€. λ”°λΌμ„œ undefined λ³€μˆ˜μ˜ 초기 값은 undefined μ›μ‹œ 값이닀.

 

 undefinedλŠ” μ˜ˆμ•½μ–΄κ°€ μ•„λ‹ˆκΈ° λ•Œλ¬Έμ—, μ „μ—­ λ²”μœ„ μ™Έμ—μ„œ λ³€μˆ˜ μ΄λ¦„μœΌλ‘œ μ‚¬μš©ν•  수 μžˆλ‹€. κ·ΈλŸ¬λ‚˜ μœ μ§€λ³΄μˆ˜μ™€ 디버깅에 어렀움을 κ²ͺ을 수 μžˆμœΌλ―€λ‘œ ν”Όν•˜λŠ” 것이 μ’‹λ‹€.

 

 

μ•„λž˜μ˜ κ²½μš°μ— λ³€μˆ˜κ°€ undefinedλ₯Ό λ°˜ν™˜ν•œλ‹€.

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

 

 

 

 

 

 

πŸ“’null

null은 μ›μ‹œκ°’(Primitive Type) 쀑 ν•˜λ‚˜λ‘œ, μ–΄λ–€ 값이 μ˜λ„μ μœΌλ‘œ λΉ„μ–΄μžˆμŒμ„ ν‘œν˜„ν•œλ‹€. undefinedλŠ” 값이 μ§€μ •λ˜μ§€ μ•Šμ€ 경우λ₯Ό μ˜λ―Έν•˜μ§€λ§Œ, null의 κ²½μš°μ—λŠ” ν•΄λ‹Ή λ³€μˆ˜κ°€ μ–΄λ–€ 객체도 가리킀고 μžˆμ§€ μ•Šλ‹€λŠ” 것을 μ˜λ―Έν•œλ‹€.

 

null은 undefined처럼 μ „μ—­ 객체의 속성 쀑 ν•˜λ‚˜κ°€ μ•„λ‹ˆλΌ λ¦¬ν„°λŸ΄ 값이닀.

 

 

'Programing Language/Javascript'의 λ‹€λ₯ΈκΈ€

  • ν˜„μž¬κΈ€ [Javascript] undefined, null 의 μ •μ˜μ™€ 차이

κ΄€λ ¨κΈ€