undefined와 null의 차이

0

undefinednull 의 차이를 알아보자.

undefined

undefined는 개발자가 의도적으로 할당하기 위한 값이 아니라 자바스크립트 엔진이 변수를 초기화할 때 사용하는 값이다. 그래서 변수를 참조했을때 undefined가 반환된다면 초기화하지 않은 변수라는 것을 알 수 있다.


null

null은 변수에 값이 없다는 것을 의도적으로 명시할 때 사용한다. (의도적 부재) 이는 이전에 할당되어 있던 값에 대한 참조를 명시적으로 제거하는 것을 의미하며, 자바스크립트 엔진은 누구도 참조하지 않는 메모리 공간에 대해 가비지 콜렉션을 수행한다.


비교연산에서의 차이

console.log(null == undefined); // true

== 연산으로 비교하면 true로 나온다.

console.log(null === undefined); // false

=== 연산으로 비교하면 false가 나온다.


0과의 비교

console.log(null > 0); // false
console.log(null < 0); // false
console.log(null == 0); // false
console.log(null >= 0); // true

기타 비교 연산자(>,<,>=,<=)의 경우 null을 숫자형 0으로 변환하여 비교한다.


console.log(undefined > 0); // false
console.log(undefined < 0); // false
console.log(undefined == 0); // false
console.log(undefined >= 0); // false

undefined는 숫자형 NaN으로 변환하여 비교를 하는데, NaN이 피연산자인 경우에 항상 false를 반환한다.

profile
https://www.youtube.com/watch?v=__9qLP846JE

0개의 댓글

관련 채용 정보