javascript에 '없음'을 나타내는 값은 두 가지가 있다. 바로 undefined와 null! 두개의 차이점은 무엇이고 어떨 때 사용해야하는걸까?
어떤 변수에 값이 존재하지 않을 경우
javascript는 사용자가 어떤 값을 지정할 것이라고 예상되는 상황임에도 실제로 그렇게 하지 않았을 때 undefined를 반환한다. 다음 세 경우가 해당된다.
사용자가 명시적으로 '없음'을 표현하기 위해 대입한 값
const n = null;
console.log(typeof n); //object
null의 타입은 object
로, 이것은 javascript의 자체버그이다.
어떤 변수 값이 null인지 여부를 판별하기 위해서는 다른 방법을 사용해야한다.
console.log(n == undefined); //true
console.log(n == null); //true
동등연산자를 사용하면 null과 undefined가 서로 같다고 판단한다.
따라서 일치연산자로 비교해야한다.
console.log(n === undefined); //false
console.log(n === null); //true
변수를 콘솔로 출력했을때 null
이 나온다면 빈 값이 할당되어있는 상태고, undefined
가 나온다면 값을 할당하기 전의 상태이다.
명시적으로 '없음'을 표현해야한다면 undefined를 대입하기보단 null을 사용하는 것이 좋다.