null ? undefined ?
null == undefined // true
null === undefined // false
null๊ณผ undefined๋ฅผ ๋ณด์ด๋ ๊ทธ๋๋ก ํด์ํ๋ฉด โ๋น ๊ฐโ๊ณผ โ์๋ ๊ฐโ์ ์๋ฏธํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ณ ๊ฐ์ ๊ฐ ์ธ๊ฑธ๊น? ํ๋ฒ ๊ฐ์ด ์์๋ณด์
let test;
console.log(test) // undefined
console.log(typeof test) // undefined
์ ์ฝ๋ ์ฒ๋ผ undefined๋ ์๋ฌด ๊ฐ๋ ํ ๋น ๋ฐ์ง ์์ ์ํ๋ฅผ ์๋ฏธํ๋ฉฐ
๋ณ์๋ฅผ ์ ์ธํ ์ดํ ๊ฐ์ ํ ๋นํ์ง ์์ผ๋ฉด ๊ทธ ๋ณ์๋ฅผ ์ฐธ์กฐ ์ undefined๊ฐ ๋ฐํ ๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค
๊ทธ๋ ๋ค๋ฉด ์ ๊ทธ๋ฐ ๊ฒ์ผ๊น?
๋ณ์ ์ ์ธ์ ์ํด ํ๋ณด๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฒ์ ํ ๋น์ด ์ด๋ค์ง ๋๊น์ง ๋น ์ํ(*๋๋ถ๋ถ ๋น์ด ์์ง ์๊ณ ์ฐ๋ ๊ธฐ ๊ฐ์ด ๋ค์ด ์๋ค.)๋ก ๋ด๋ฒ๋ ค๋์ง ์๊ณ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด undefined๋ก ์ด๊ธฐํํ๊ธฐ ๋๋ฌธ์ด๋ค
๊ทธ๋ฌ๋ฏ๋ก ๋ณธ์ธ์ด ์๋์ ์ผ๋ก ๋ณ์์ undefined๋ฅผ ํ ๋น ํ๋ ๊ฒ์ ๋ณธ๋์ ์ทจ์ง์ ์ด๊ธ๋๊ณ ํผ๋์ ์ฃผ๊ธฐ ๋๋ฌธ์ ํ์ง ์๋ ๊ฒ์ด ์ข๋ค
let test = null;
console.log(test) // null
์๋ฐ์คํฌ๋ฆฝํธ๋ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ๋ฏ๋ก null์ Null, NULL ๋ฑ๊ณผ๋ ๋ค๋ฅด๋ฉฐ
null์ โ๋น์ด์๋, ์กด์ฌํ์ง ์๋ ๊ฐ'(๊ฐ์ ๋ถ์ฌ)์ ์๋ฏธํ๋ค.
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ null์ ๋ณ์์ ๊ฐ์ด ์๋ค๋ ๊ฒ์ ์๋์ ์ผ๋ก ๋ช
์(์๋์ ๋ถ์ฌ)ํ ๋ ์ฌ์ฉํ๋ค.
๋ฐ๋ผ์ ๋ณ์์ null์ ์ง์ ํ ๋น ํ๋ ๊ฒ์
๋ณ์๊ฐ ์ด์ ์ ์ฐธ์กฐํ๋ ๊ฐ์ ๋ ์ด์ ์ฐธ์กฐํ์ง ์๊ฒ ๋ค๋ ์๋ฏธ์ด๋ค.
null -> ๋ด๊ฐ ์๋์ ์ผ๋ก ๋น ๊ฐ์ ์ค ์ํ
undifined -> ์๋์ ์ด์ง ์์ ์๋ฌด ๊ฐ๋ ํ ๋น ๋ฐ์ง ๋ชปํ ์ํ