๐Ÿ“–5. undefined์™€ null์˜ ์ฐจ์ด

Lee Jinoยท2022๋…„ 9์›” 23์ผ
0

๐Ÿ“– undefined์™€ null์˜ ์ฐจ์ด

๐Ÿš€ 1. undefined์˜ ์ •์˜

  • ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ๊ฐ’์„ ํ• ๋‹นํ•˜์ง€ ์•Š์€ ์ƒํƒœ

  • undefined๋Š” ์›์‹œ๊ฐ’(Primitive Type)์œผ๋กœ, ์„ ์–ธํ•œ ํ›„์— ๊ฐ’์„ ํ• ๋‹นํ•˜์ง€ ์•Š์€ ๋ณ€์ˆ˜๋‚˜ ๊ฐ’์ด ์ฃผ์–ด์ง€์ง€ ์•Š์€ ์ธ์ˆ˜์— ์ž๋™์œผ๋กœ ํ• ๋‹น๋œ๋‹ค. ์ด ๊ฐ’์€ ์ „์—ญ ๊ฐ์ฒด์˜ ์†์„ฑ ์ค‘ ํ•˜๋‚˜๋กœ, ์ „์—ญ ์Šค์ฝ”ํ”„์—์„œ์˜ ๋ณ€์ˆ˜์ด๊ธฐ๋„ ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ undefined ๋ณ€์ˆ˜์˜ ์ดˆ๊ธฐ ๊ฐ’์€ undefined ์›์‹œ ๊ฐ’์ด๋‹ค.

  • ๋ณ€์ˆ˜๊ฐ€ undefined๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ
    -- ๊ฐ’์„ ํ• ๋‹นํ•˜์ง€ ์•Š์€ ๋ณ€์ˆ˜
    -- ๋ฉ”์„œ๋“œ์™€ ์„ ์–ธ์—์„œ ๋ณ€์ˆ˜๊ฐ€ ํ• ๋‹น๋ฐ›์ง€ ์•Š์€ ๊ฒฝ์šฐ
    -- ํ•จ์ˆ˜๊ฐ€ ๊ฐ’์„ return ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ


๐Ÿš€ 2. null์˜ ์ •์˜

  • null์€ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ๋นˆ ๊ฐ’์„ ํ• ๋‹นํ•œ ์ƒํƒœ(๋นˆ ๊ฐ์ฒด)์ด๋‹ค

  • null์€ ์›์‹œ๊ฐ’(Primitive Type) ์ค‘ ํ•˜๋‚˜๋กœ, ์–ด๋–ค ๊ฐ’์ด ์˜๋„์ ์œผ๋กœ ๋น„์–ด์žˆ์Œ์„ ํ‘œํ˜„ํ•œ๋‹ค. undefined๋Š” ๊ฐ’์ด ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ๋ฅผ ์˜๋ฏธํ•˜์ง€๋งŒ, null์˜ ๊ฒฝ์šฐ์—๋Š” ํ•ด๋‹น ๋ณ€์ˆ˜๊ฐ€ ์–ด๋–ค ๊ฐ์ฒด๋„ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.


๐Ÿš€ 3. ๊ธฐํƒ€

  • typeof๋ฅผ ํ†ตํ•ด ์ž๋ฃŒํ˜•์„ ํ™•์ธํ•ด๋ณด๋ฉด null์€ object๋กœ, undefined๋Š” undefined๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

  • typeof undefined๋Š” ์ถœ๋ ฅํ•˜๋ฉด undefined์ด๋‹ค.
  • typeof null์€ ์ถœ๋ ฅํ•˜๋ฉด object์ด๋‹ค.
    ํ•˜์ง€๋งŒ ์ด๋Š” ์—ฌ์ „ ์›์‹œ ํƒ€์ž…(primitive value)๋กœ, JavaScript์—์„œ๋Š” ๊ตฌํ˜„ ๋ฒ„๊ทธ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค.
  • undefined == null์€ true์ด๋‹ค.
profile
์•ˆ๋…•ํ•˜์„ธ์š”

0๊ฐœ์˜ ๋Œ“๊ธ€