null과 undefined의 차이

민범기·2022년 5월 1일
0

자바스크립트에서 특수한 값을 담당하는 null과 undefined 타입은 '빈 값, 존재하지 않는 값'이라는 뜻을 가지고 있으나 큰 차이가 있다.

null은 비어있는 변수 값이 존재 하지 않음을 의미한다. typeof로 자료형을 확인하면 object를 반환한다.하지만 정말 실제로도 아무 값이 없는 것이다.

undefined는 변수가 정의 되었으나, 아무값도 할당받지 않음을 나타낸다. 예를 들어서 undefined는 변수에 어떤 값도 대입하지 않거나, 함수에 명시적으로 값을 반환하지 않았을떄 undefined를 반환한다.

둘다 원시 자료형으로 분류된다.

간단한 코드로 확인해보자.

let value = null; // null 대입
console.log(value); // null
console.log(typeof value); // object
 
let value2; // 아무 것도 대입하지 않음
console.log(value2); // undefined
console.log(typeof value2); // undefined
 
value == value2; // true
value === value2; // false

==로 비교해 보았을때는 서로 둘다 아무런 값이 없기 때문에 true를 반환하지만 === 로 비교를 해보면 자료형이 다르기 때문에 false로 반환되는 것을 볼 수있다.
검사 연산자에 따라서 비교 결과가 다르기 때문에 주의 해야 한다.

즉 한마디로 정의하자면 null은 값이 없는 상태, undefined는 변수나 함수가 정의 되었으나 그곳에 값이 할당 되지 않은 상태로 분류할 수 있겠다. 둘다 값은 없는 것은 동일하나 자료형은 서로 다르다!

profile
프론트엔드 개발 지망생 민범기입니다^^

0개의 댓글