Undefined , Null

Junyoung Song·2022년 3월 18일
0

JS

목록 보기
8/13

Undefined 와 Null

우리는 자주 Undefined 와 Null 에 대해서 혼동 하곤 합니다. 둘은 비슷해 보이지만 다르기 때문에 우리는 그 차이를 알 필요가 있습니다.
먼저 undefined 의 경우는 변수가 선언은 되었지만 값을 할당 받지 않은 경우 undefined로 출력됩니다. undefined 의 타입의 경우는 undefined 입니다. 선언이 되었지만 값을 할당 받지 못한 변수들은 자동으로 JS에서 undefined를 할당합니다.

let cat;
typeof cat // 'undefined'

위 예제를 보면 변수가 선언 되었지만 값을 할당하지 않은경우 undefined가 할당되어있습니다.
Javascript 에서는 절대 기본값을 null로 할당하지 않습니다.

typeof undefined;
// "undefined"

typeof null;
// "object"

서로의 데이터 타입을 비교할 경우 undefined의 경우는 undefined이고 nulld은 객체 인것을 확인 할 수 있습니다.

undefined + 1;
//NaN

null + 1;
//1

연산자의 경우 undefined에 +1 할경우 NaN이 나오지만 Null의 경우는 0으로 치환되어 1이 나오게 됩니다.

!!undefined;
//false
!!null;
//false

undefined 와 null 둘다 모두 falsy 한 값입니다.

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

느슨한 동치 연산자로 비교할 경우 undefined 와 null은 true값을 리턴합니다. 하지만 undefined 와 null을 엄격한 동치 연산자로 비교할 경우 둘의 타입은 서로 undefined와 객체로 다르기 때문에 false를 리턴하게 됩니다.


참조: https://flexiple.com/undefined-vs-null-javascript/

0개의 댓글