๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

JavaScript

[ JavaScript ] undefined์™€ null์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ.

 

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ '๋นˆ'๊ฐ’์„ ์˜๋ฏธํ•˜๋Š” ๋น„์Šทํ•œ ์›์‹œ ๊ฐ’์ด ์กด์žฌํ•˜๋Š”๋ฐ ๋ฐ”๋กœ null๊ณผ undefined ์ด๋‹ค.

 

 

 

 

 

 

 

1. undefined

 

ES6๊ธฐ์ค€ 7๊ฐœ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ค‘ ํ•˜๋‚˜์ธ undefined๋Š” var ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด ์„ ์–ธ์„ ํ•˜๋ฉด ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์— ์˜ํ•ด undefined๋กœ ์ดˆ๊ธฐํ™” ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ํ• ๋‹น๋ฌธ ์ด์ „์— ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•˜๋ ค๊ณ  ํ•˜๋ฉด undefined๊ฐ€ ๋ฐ˜ํ™˜๋œ๋‹ค. ( let ํ‚ค์›Œ๋“œ์™€ const ํ‚ค์›Œ๋“œ๋Š” undefined๋กœ ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์Œ. )

 

var user;
console.log(user); // undefined

 

 

undefined์˜ ๊ฐ’์€ undefined๊ฐ€ ์œ ์ผํ•˜๋ฉฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ์˜๋„์ ์œผ๋กœ ์ค€ ๋นˆ ๊ฐ’์ด ์•„๋‹ˆ๋ผ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์— ์˜ํ•ด undefined๋กœ ์ดˆ๊ธฐํ™”๋œ ๊ฐ’์ด๋‹ค.  console๋กœ ์ฐ์—ˆ์„ ๋•Œ undefined๊ฐ€ ๋ฐ˜ํ™˜๋œ๋‹ค๋ฉด, ๋ณ€์ˆ˜๊ฐ€ ์„ ์–ธ๋œ ์ดํ›„ ํ• ๋‹น๋œ ์  ์—†๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 

 

 

2. null

 

null ๋˜ํ•œ undefined์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ES6๊ธฐ์ค€ 7๊ฐœ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž… ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ, nullํƒ€์ž…์˜ ๊ฐ’์€ null ์ด ์œ ์ผํ•˜๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋Œ€. ์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— null, Null, NULL์€ ์„œ๋กœ ๋‹ค๋ฅด๋‹ค.

 

null์€ ๋ณ€์ˆ˜์— ๊ฐ’์ด ์—†๋‹ค๋Š” ๊ฒƒ์„ ๋ช…์‹œ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ด ์ค„ ๋•Œ ์‚ฌ์šฉํ•˜๋ฉฐ ๊ฐ’์ด ํ• ๋‹น๋œ ๋ณ€์ˆ˜์— null์„ ํ• ๋‹นํ•˜๊ฒŒ ๋˜๋ฉด ์ด์ „์— ์ฐธ์กฐํ•˜๋˜ ๊ฐ’์„ ์ฐธ์กฐํ•˜์ง€ ์•Š๊ฒ ๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ ๋œ๋‹ค.

 

var age = 24;
age = null;

 

 

 

 

 

 

=> ํ•œ๋งˆ๋””๋กœ ์ •๋ฆฌํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ ์˜๋„์ ์œผ๋กœ ๊ฐ’์ด ์—†์Œ์„ ๋ช…์‹œํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” null์„ ์‚ฌ์šฉํ•˜๊ณ , ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ–ˆ์„ ๋•Œ undefined๊ฐ€ ๋ฐ˜ํ™˜๋˜์—ˆ๋‹ค๋ฉด ํ•ด๋‹น ๋ณ€์ˆ˜๋Š” ์„ ์–ธ ์ดํ›„์— ๊ฐ’์ด ํ• ๋‹น๋œ ์ ์ด ์—†๋Š” ๋ณ€์ˆ˜์ด๋‹ค. 

 

 

 

 

 

 

 

 

์ฐธ๊ณ  ์ž๋ฃŒ )

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ DEEP DIVE - ์ด์›…๋ชจ / ์œ„ํ‚ค๋ถ์Šค

null - MDN

undefined - MDN