null과 undefined

김세현·2022년 2월 28일
0

다양한 개념 및 상식

목록 보기
10/20

null is an assigned value. It means nothing.
undefined means a variable has been declared but not defined yet.
null is an object. undefined is of type undefined.
null !== undefined but null == undefined.
null은 변수에 값이 없다라는 사실을 개발자가 의도적으로 명시할 때 사용한다.

변수에 null이 담겨있다는 것은 변수에 null이라는 값이 '할당'되어 있다고 볼 수 있다.

그런데 이 null은 "값이 없다"라는 사실을 의미한다.

따라서 개발자가 의도적으로 값이 없다는 것을 명시하고 싶다면, udefined가 아닌 null을 할당해야 한다.

또한 null은 이전에 변수에 할당되어 있던 값에 대한 참조를 명시적으로 제거할 때도 사용된다.

이후 자바스크립트 엔진은 누구도 참조하지 않는 메모리 공간에 대해 가비지 컬렉션을 수행한다!

undefined는 값이 할당되어 있지 않다는 의미이다.

개발자가 값이 없다는 것을 명시하기 위해 의도적으로 undefined를 변수에 할당하는 것은

본래 undefined 취지와는 어긋나고 혼란을 초래할 수 있으므로

값이 없다는 것을 명시하기 위해서는 변수에 null을 할당해야 한다.

※NaN : Not-A-Number (숫자가 아님)

profile
under the hood

0개의 댓글