๐ฉ๐ป๐ป undefined์ null์ ์ฐจ์ด๋ฅผ ์ค๋ช ํด ๋ณด์ธ์.
์ฝ๋ฉ์ ํ๋ค๋ณด๋ฉด ๋ถ๋ถ๋ช ํ ๊ฐ์ผ๋ก ์ถ์ ๋๋ undefined์ null์ด ๋ฑ์ฅํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด ๋์ ์๋ฏธ๋ ๊ฐ๊ฐ ๋ฌด์์ด๋ฉฐ, ๊ฐ๊ฐ ์ด๋จ ๋ ์ถ๋ ฅ๋๋ ๊ฒ์ผ๊น์? ์ฐจ์ด์ ์ ๋ช ํํ๊ฒ ์ค๋ช ํด ์ฃผ์ธ์.
๐๐ปโ๏ธ ์์ฝํ์๋ฉด ,
undefined๋ ๋ณ์๋ฅผ ์ ์ธํ๊ณ ๊ฐ์ ํ ๋นํ์ง ์์ ์ํ์ด๋ฉฐ, null์ ๋ณ์๋ฅผ ์ ์ธํ๊ณ ๋น ๊ฐ์ ํ ๋นํ ์ํ ์ ๋๋ค.
JavaScript์์ undefined์ null ๋ ๋ชจ๋ ๊ฐ๋ณ์ ์ผ๋ก ์๋ฌด ๊ฒ๋ ๋ํ๋ด์ง ์๋๋ค๋ ๊ณตํต์ ์ด ์์ผ๋, undefined๋ ์์์ ์ด๊ณ , null์ ๋ช ์์ ์ด๋ผ๋ ๊ฒ์ด ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ ๋๋ค. undefined๋ ์๋ฌด๊ฒ๋ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ๋ฅผ ์์์ ์ผ๋ก ๋ํ๋ด๊ณ , null์ "๊ฐ ์์"์ ๋ช ์์ ์ผ๋ก ๋ฑ ๋ํ๋ด๋ ๊ฐ์ด๋ผ๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค.
undefined : "๋ชฐ๋ผ~ ๐"
1. ์์๊ฐ(Primitive Type)์ผ๋ก, ์๋ฌด๊ฒ๋ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ๋ฅผ ์์์ ์ผ๋ก ๋ํ๋ ๋๋ค.
// ์ ์๋์ง ์๊ณ ์ด๊ธฐํ๋ ์ ๋ ์๋ x
x; // ReferenceError: foo is not defined
2. ์ ์ธ ํ ๊ฐ์ ํ ๋นํ์ง ์์ ๋ณ์ ํน์ ๊ฐ์ด ์ฃผ์ด์ง์ง ์์ ์ธ์์ ์๋์ผ๋ก ํ ๋น๋ฉ๋๋ค.
var x; // ๋ณ์ x์ ๊ฐ์ ํ ๋นํ์ง ์๊ณ ์ ์ธํ๋ค๋ฉด
console.log ('value of x is', x) // value of x is undefined
var x = 1; // ๋ง์ฝ ๋ณ์ x์ 1์ ํ ๋นํ๋ฉฐ ์ ์ธํ๋ค๋ฉด
console.log ('value of x is', x); // value of x is 1
3. undefined์ ํ์ ์ "undefined"๋ก ํ๊ฐ๋ฉ๋๋ค.
typeof undefined // 'undefined'
4. ํจ์๊ฐ ๊ฐ์ returnํ์ง ์์์ ๋๋ undefined๋ฅผ ๋ฐํํฉ๋๋ค.
null : "์์ด! โ๐ป"
1.์์๊ฐ(Primitive Type)์ผ๋ก, ์ด๋ค ๊ฐ์ด ๋น์ด์์์ ๋ช ์์ ์ผ๋ก ํํํฉ๋๋ค.
// ์กด์ฌํ์ง๋ง ๊ฐ์ด๋ ์๋ฃํ์ด ์กด์ฌํ์ง ์๋ x
var x = null;
x; // null
2. Boolean ์ฐ์ฐ์์๋ false๋ก ์ทจ๊ธํฉ๋๋ค.
!null // true: false์ ๋ฐ๋
3. null์ ํ์ ์ "๊ฐ์ฒด"๋ก ํ๊ฐ๋ฉ๋๋ค.
typeof null // 'object'
๊ทธ ์ธ ์ถ๊ฐ ์ค๋ช
1. ์ซ์๊ฐ ์๋ ๊ฐ์ ์ฐพ๋ ํจ์์ธ isNaN()์ ์ฌ์ฉํด๋ณด๊ฒ ์ต๋๋ค. ์ฐธ๊ณ ๋ก ์ด ํจ์๋ ์ซ์๊ฐ ์๋๋ฉด(Not a Number) True๋ฅผ, ์ซ์์ด๋ฉด False๋ฅผ ๋ฐํํฉ๋๋ค. isNaN('456') ๊ณผ ๊ฐ์ ๋ฌธ์ํ ์ซ์๋ ์ซ์๋ก ์ธ์๋์ด false๋ฅผ ๋ฐํํฉ๋๋ค. ์ด์จ๋ ์ซ์๋ฌธ๋งฅ์์๋ null์ 0์ผ๋ก undefined๋ NaN์ผ๋ก ๋ฐํ๋๋ค๊ณ ํฉ๋๋ค.
isNaN (1) // false: ์ซ์๋ค
isNaN(1 + null) // false: ์ซ์๋ค
isNaN(1 + undefined) // true: ์ซ์๊ฐ ์๋๋ค
2. null๊ณผ undefined๋ฅผ ์๊ฒฉํ ๋น๊ต์ฐ์ฐ์(์ผ์น์ฐ์ฐ์: ===)๋ก ๋น๊ตํ๋ฉด false, ๋์จํ ๋น๊ต์ฐ์ฐ์(๋๋ฑ์ฐ์ฐ์: ==)๋ก ๋น๊ตํ๋ฉด true๊ฐ ๋์ต๋๋ค.
null === undefined // false
null == undefined // true
null === null // true
null == null // true
๐ ๋ด์ฉ ์ฐธ์กฐ
๋๊ธ