(2023.06.13) null, undefined, undeclared의 차이를 알아보자.
1. 정의
- null : '값이 없음'. 변수가 선언된 후 null(빈값)이 할당되었다.
- undefined : '값이 정의되지 않음'. 변수가 선언된 후 아무런 값이 할당되지 않았다.
- undeclared : '값이 선언되지 않음'. 변수가 선언조차 되지 않았다.
// null
let a = null;
console.log(a); // null
// undefined
let b;
console.log(b); // b is undefined
// undeclared
console.log(c); // c is not defined
2. 타입(typeof)
- null : object (이 부분 주의. 타입이 null이 아니다)
- undefined : undefined
- undeclared : undefined
null과 undefined가 비슷한 뜻이라 생각할 수 있는데 null은 의도적으로 '값이 없음'을 표현한 것이다.