undefined와 null는 비어있는 값, 즉 불러 올 값이 없다는 뜻이다. 둘의 의미는 같으나 조금의 차이가 있다.
undefined
: 변수가 정의 되었으나 값을 지정해주지 않아 어떤한 값을 할당받지 않았다. 라는 뜻입니다.
let test1; // 변수 값을 주지 않음
console.log(test1); //undefined
console.log(typeof test1); //undefined
!!undefined
으로 형변환 하면 false의 값이 나오게 된다.
단, undefined와 false가 같지 않다는 점을 알아두자!
null
: 비어있는 변수, 값이 존재하지 않다. 라는 의미입니다.
: 의도적으로 빈값을 넣을 때 주로 사용한다.
let test = null;
console.log(test); //null
console.log(typeof test); //object
typeof null
"object" // 버그입니다. 언어가 만들어진 초창기 실수 때문에 "object"가 됐다.
따라서 값이 null이라는걸 확인하기 위해선 ===null 을 사용해야 한다.
!!null
으로 형변환 하면 false의 값이 나오게 된다.
단, undefined와 false가 같지 않다는 점을 알아두자!