aotoyae

[JS] null과 undefined의 차이 본문

JavaScript

[JS] null과 undefined의 차이

aotoyae 2023. 12. 29. 00:11

 

 

❗️null : 의도적으로 '없음'을 준 값, 의도적으로 표현할 때 사용하는 값

❗️undefined : 처음부터 없었던 값, 값이 없다는 것을 확인하는 값

typeof null // 'object'
typeof undefined // 'undefined'
null === undefined // false
null == undefined // true
null === null // true
null == null // true
!null // true
isNaN(1 + null) // false
isNaN(1 + undefined) // true

null 의 타입은 object

undefined 의 타입은 undefined

 

❗️변수에 null 을 할당하는 것은 이전에 참조하던 값을 더 이상 참조하지 않겠다는 것!

>> 이전에 할당되어 있던 값에 대한 참조를 제거한다는 의미이다.

이제 그 참조되지 않은 메모리 공간은 가비지 콜렉터에 의해 수집될 것!

let cup;
console.log(cup); // undefined

cup = '물';
console.log(cup); // 물

cup = null;
console.log(cup); // null

 

 

let x;
console.log(x); // undefined

let y = x;
x = null;

console.log(y); // undefined
console.log(x); // null

x = y;
console.log(x); // undefined