null과 undefined 차이

HSKwon·2022년 7월 1일
0

null, undefined는 둘 다 변수에 값이 없는 것을 나타내지만, 둘의 의미는 꽤 다르다.

  1. null
    null은 NULL의 심볼이며, 의도를 갖고 변수에 null을 할당하여 값이 없다는 것을 나타낸다. null이 할당된 변수의 타입을 확인해 보면 object인걸 확인할 수 있다.

let a = null;
console.log(a); // null

console.log(typeof a); // object
2. undefined
변수를 선언하고 값을 할당하기 전의 형태(값)라고 볼 수 있다. (*변수에 값이 할당되어 있지 않음.)

let b;
console.log(b); // undefined
undefined가 나오는 경우의 예시
존재하지 않는 객체의 프로퍼티를 읽을려고 할 때

let obj = {};
console.log(obj.a); // undefined
존재하지 않는 배열에 엘리먼트를 읽을려고 할 때

let arr = [1, 2, 3];
console.log(arr[10]); // undefined
정리
undefined: 접근 가능한 스코프에 변수가 선언되었으나 현재 아무런 값도 할당되지 않은 상태이다. 타입을 확인해 보면 'undefined' 이다.
null: 변수를 선언하고 'null'이라는 빈 값을 할당한 경우이다. 타입을 확인해 보면 'object' 이다.
추가: undeclared
undeclared: 접근 가능한 스코프에 변수 선언조차 되어있지 않은 상태이다. 타입을 확인해 보면 'undefined' 이다.
참고 자료
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/null
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/undefined
https://sudo-heedongdev.tistory.com/6

profile
공부한 내용이나 관심 있는 정보를 글로 정리하며 익숙하게 만들고자 합니다.

0개의 댓글