๐Ÿ˜’undefined์™€ null์˜ ๋ฏธ์„ธํ•œ ์ฐจ์ด

๊น€์žฌ์šฐยท2022๋…„ 9์›” 23์ผ
0

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Basic

๋ชฉ๋ก ๋ณด๊ธฐ
3/3
post-thumbnail

ํ•ญํ•ด99๋ฅผ ํ•˜๊ธฐ์ „์— ๋…ธ๋งˆ๋“œ ์ฝ”๋” java ์ž…๋ฌธ ๋‹จ๊ณ„์—์„œ ๋‚ด๊ฐ€ ์ž‘์„ฑํ–ˆ๋˜ ์ฝ”๋“œ๋ฅผ ๋“ค๊ณ  ์™€ ๋ดค๋‹ค.
์ด ์ฝ”๋“œ๋ฅผ ์“ฐ๋Š” ๋‚ ์ด ์˜ค๋‹ค๋‹ˆ!


const amIFat = false;
let something;
console.log(something);

ํ•ด๋‹น ์ฝ”๋“œ์˜ ๊ฐ’์€ undefined ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.
Why?๐Ÿ˜’amIFat ์ด๋ผ๋Š” ๋ณ€์ˆ˜์— false ๊ฐ’์„ ์ฃผ๊ณ  something์ด๋ผ๋Š” ๋ณ€์ˆ˜๋Š” ๊ฐ’์„ ์ •์˜ ํ•ด์ฃผ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
undefined๋Š”
undefined = variable ์ด ๋ฉ”๋ชจ๋ฆฌ์— ๋งŒ๋“ค์–ด์ ธ์žˆ์ง€๋งŒ ์ปดํ“จํ„ฐ๊ฐ€ ์ด variable ์— ๋Œ€ํ•ด์„œ ์ธ์ง€ ํ•˜์ง€๋งŒ ๊ฐ’์€ ์—†์Œ!
์ฆ‰ '๊ฐ’์ด ํ• ๋‹น๋˜์ง€ ์•Š์€ ์ƒํƒœ' ๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

null ์˜ ์˜ˆ์ œ ์ฝ”๋“œ
let age = null;
console.log(age, typeof age);
// null, "object"

null
์šฐ๋ฆฌ๊ฐ€ variable ์•ˆ์— ์–ด๋–ค ๊ฒƒ์ด ์—†๋‹ค๋Š” ๊ฒƒ์„ ํ™•์‹คํžˆ ํ•˜๊ธฐ ์œ„ํ•ด ์“ฐ๋Š”๊ฑฐ์ธ๋ฐ!
์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋ฉด null ๊ฐ’์€ ๋น„์–ด์žˆ์Œ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค!
๋‹ค์‹œ ๋งํ•ด, ์•„๋ฌด๊ฒƒ๋„ ์ฐธ์กฐํ•˜๊ณ  ์žˆ์ง€ ์•Š๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ ๋‹ด๊ฒจ ์žˆ์œผ๋ฉฐ ์ฃผ๋กœ ๊ฐ์ฒด๋ฅผ ๋‹ด์„ ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํžŒ๋””.
null ๋˜ํ•œ undefined๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ฐ’์ด๋ฉฐ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋‹ค.

undefined == null์€ true์ด๋‹ค.

undefined ์™€ null์˜ ์ฐจ์ด์ 
1.undefined๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธ๋งŒ ํ•˜๋”๋ผ๋„ ํ• ๋‹น๋˜์ง€๋งŒ null์€ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•œ ํ›„์— null๋กœ ๊ฐ’์„ ๋ฐ”๊พผ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.
2.undefined๋Š” ๋“ฑ๋ก์ด ๋˜์–ด์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐํ™”๋„ ์ •์˜๋˜์ง€๋„ ์•Š์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฟ€ํŒ ์ •๋ณด

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

์•Œ์•„๋‘๋ฉด ์ข‹๋‹ค๊ณ  ???๐Ÿ˜œ

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

<์ถœ์ฒ˜ ์‚ฌ์ดํŠธ>
https://2ssue.github.io/common_questions_for_Web_Developer/docs/Javascript/13_undefined&null.html#null
https://taenami.tistory.com/33

profile
ํ”„๋ก ํŠธ์—”๋“œ ๊พธ์ค€๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค.

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