Null?? Undefined?? 같은거 아니야??

0
post-thumbnail

1. 서론

  • null 과 undefined 타입은 "빈 값, 존재하지 않는 값"이라는 뜻을 가지고 있지만, 큰 차이가 있다.

2. Null

  • null은 비어 있는 변수, 값이 존재하지 않음을 의미한다. typeof를 통해 자료형을 확인하면 object를 반환하지만, 자바스크립트 기존 이슈로 인한 결과이니 객체형으로 오해하지 않도록 주의해야하 한다.

3. undefined

  • 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
  • 둘 다 원시 자료형으로 분류되며, 예제를 살펴보면 마지막에 null과 undefined를 동등 연산자인 == 로 비교해보면 자료형 비교까지 이루어지지 않기 때문에 true를 반환하다. 하지만, 자료형까지 엄격히 검사하는 일치 연산자 === 로 비교하면 자료형이 달라서 false가 반환된다.
profile
끝날때 까지 끝난게 아니야. 결국 내가 이겨!

0개의 댓글