Primitive: null vs undefined

Minjae Kwon·2020년 10월 28일
0
post-thumbnail

🙋🏻‍♀️ null 과 undefined 는 어떻게 다를까?

null 은 존재 자체가 없는 완벽한 없음이다. undefined 는 말 그대로 정의되지 않은 상태, 즉 변수가 선언되어서 자바스크립트가 인지할 수는 있으나, 값이 할당되지 않은 이름만 있는 상태라고 할 수 있다.

let mountains; 

function isUndefined(test) {
  if (test === undefined) {
    return "I am undefined!";
  }
  return "I have contents: " + test;
}

isUndefined(mountains); // "I am undefined!"

💡 MDN 에서는 다음의 추가 비교를 보여주고 있다. typeof 를 쓰면, 선언된 적 없는 변수라도 undefined 로 반환하므로 주의해서 알아두자.
<typeof null          // "object" (not "null" for legacy reasons)
typeof undefined     // "undefined"
null === undefined   // false
null === null        // true
!null                // true
isNaN(1 + null)      // false
isNaN(1 + undefined) // true

typeof iAmVariableThatHasNeverBeenDeclared // "undefined" 
profile
Front-end Developer. 자바스크립트 파헤치기에 주력하고 있습니다 🌴

0개의 댓글