[TIL 55] javascript | undefined와 null의 차이

sunny·2021년 6월 18일
0
post-thumbnail

javascript에 '없음'을 나타내는 값은 두 가지가 있다. 바로 undefined와 null! 두개의 차이점은 무엇이고 어떨 때 사용해야하는걸까?


undefined

어떤 변수에 값이 존재하지 않을 경우

javascript는 사용자가 어떤 값을 지정할 것이라고 예상되는 상황임에도 실제로 그렇게 하지 않았을 때 undefined를 반환한다. 다음 세 경우가 해당된다.

  1. 값을 대입하지 않은 변수
  2. 객체 내부의 존재하지 않는 프로퍼티에 접근하려고 할때
  3. return 문이 없거나 호출되지 않는 함수의 실행 결과

null

사용자가 명시적으로 '없음'을 표현하기 위해 대입한 값

typeof null

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을 사용하는 것이 좋다.

profile
blog 👉🏻 https://kimnamsun.github.io/

0개의 댓글