undefined
와 null
의 비교Javascript의 데이터 타입인 undefined
와 null
,
null
은 다른 언어에서도 사용되는 리터럴이지만 Javascript에서 undefined
를 처음 마주한 사람은 당황하기 마련이다.
그럼 한번 undefined
와 null
을 비교해보자.
undefined
let msg; // msg 변수를 선언만 하고, 값을 할당(초기화)하지 않았다.
console.log(msg); // undefined
console.log(msg === undefined); //true
console.log(typeof msg) // undefined
undefined
데이터 타입은, 말 그대로 정의되지 않은 데이터이다.
let
, const
키워드를 사용해서 변수, 상수를 정의할 때 초기화 하지 않았다면, 즉 변수를 선언만 하고 값을 할당하지 않았다면 변수의 값에는 undefined
가 할당된다.
null
let msg = null;
console.log(msg === undefined); // false
console.log(msg == undefined); // true
console.log(typeof msg); // object
null
타입은 데이터 타입 중 하나다. 말 그대로 값이 아예 없는 데이터다.
하지만 콘솔에 typeof null
로 확인해보면 object
라고 나온다. null
은 말그대로 아무것도 아닌 빈 객체를 가리키고 있어 object
라고 나온다
공통점
undefined
, null
)의 값이 유일하다.undefined
타입의 값은 undefined
가 유일하다.null
타입의 값은 null
이 유일하다.차이점
undefined
는 '정의하지 않음'인 반면에, null
은 값이 '없음'이다.undefined
의 typeof는 undefined
인 반면, null
의 typeof는object
이다.
👍