null & undefined

sohyeon kim·2022년 4월 15일

null

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

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

console.log(typeof a); // object

undefined

변수를 선언하고 값을 할당하기 전의 형태(값)라고 볼 수 있다. (*변수에 값이 할당되어 있지 않음.) 즉 접근 가능한 스코프에 변수가 선언되었으나 현재 아무런 값도 할당되지 않은 상태이다. 타입을 확인해 보면 'undefined' 이다.

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

null 과 undefined 는 등록, 저장 여부이다.

null 은 값은 값이지만 값으로써 의미없는 특별한 값이 등록되어 있는 것이고, undefined 는 등록이 되어있지 않기 때문에 초기화도 정의되지도 않은 것.

undefined 는 미리 선언된 전역변수(전역 객체의 프로퍼티)이며, null 은 선언,등록을 하는 키워드이다.

이런 차이에도 불구하고 null 과 undefined 는 포괄적으로 둘다 값이 없음을 가리키고, 사용할때 서로 바꿔 사용하는 경우도 있다.

동등연산자(==)를 사용하면 두 값이 같다고 간주하기 때문에 이를 구별하기 위해서는 엄격한 일치연산자(===)를 사용할 것을 권장한다.

또한 typeof null 은 object 라는 것에 주의해야 합니다.

참고
https://webclub.tistory.com/1

profile
slow but sure

0개의 댓글