본문 바로가기
Coding/JavaScript

1-3 . Introduction to JavaScript - null과 undefined의 차이점

by Ask & Solve 2021. 10. 25.
 

1-2 . Introduction to JavaScript - Comments, Data type

오늘도 역시 쉽게 쉽게, 주석과 자료형입니다. 주석은 뭐 많은 언어들에서 쓰이는 기본형이네요. 한 줄 주석은 // 여러 줄 주석은 /* ... */ console.log("Hello, world!");  // 한 줄 주석 /* 여러 줄 주석 */.

asknsolve.com

이전 글에서 궁금했던 null과 undefined의 차이점에 대하여 알아보겠습니다.

 

우선 변수를 선언한 상태에서,

 

null은 빈 값을 할당한 상태이고,

undefined는 값을 할당하지 않은 상태입니다.

 

비슷한 것 같지만, 명확한 차이점은

null은 "의도적으로" 빈 값을 가진 것이고,

undefined는 "원래부터" 값이 없는 것이지요.


 

What is the difference between null and undefined in JavaScript?

I want to know what the difference is between null and undefined in JavaScript.

stackoverflow.com

stackoverflow에 누군가가 화장실의 휴지 그림으로 표현했는데, 이 이미지를 상상하면 될 것 같습니다.

 

일반적인 값이 휴지가 있는 상태라면,

0은 휴지를 다 쓴 것이고,

 

null은 휴지걸이는 있지만, 휴지심이라고 하나요? 그 종이를 빼 놓은 상태이고,

undefined는 휴지걸이조차 없는 그야말로 아무것도 없는 상태이죠


코드로 만들어지는 차이점을 살펴보면 다음과 같습니다.

 

var testUndefiend;
alert(testUndefiend); //shows undefined
alert(typeof testUndefiend); //shows undefined

var testNull = null;
alert(testNull); //shows null
alert(typeof testNull); //shows object

 

사실 많은 경우에 null이나 undefined나 비슷하게 취급되지만,

실질적인 차이점을 보자면,

 

null === undefined // false
null == undefined // true

 

바로 이 부분입니다.

 

null과 undefined는 data type이 다른 것이기에,

== 로 비교했을 때는 true가 나오지만,

=== 로 비교했을 때는 false가 된다는 것.


결론적으로 우리가 기억할 것은,

1. null은 의도적으로 값이 할당된 것이고, undefined는 아예 없는 것

2. null === undefined 는 false라는 것

 

이 2가지를 기억하면 될 것 같습니다.

 

 

1-4 . Introduction to JavaScript - Arithmetic Operators (feat. -0)

1-3 . Introduction to JavaScript - null과 undefined의 차이점 1-2 . Introduction to JavaScript - Comments, Data type 오늘도 역시 쉽게 쉽게, 주석과 자료형입니다. 주석은 뭐 많은 언어들에서 쓰이는 기본..

asknsolve.com

 

댓글