Javascript에서 null과 정의되지 않음의 차이점(메모 포함)

nullundefined가 같다고 생각할 수도 있습니다. 스포일러 주의, 그렇지 않다는 것을 알아야 합니다. 제가 의미하는 바는 다음과 같습니다. 예 둘 다 많은 유사점을 가지고 있지만 깊이는 완전히 다릅니다.

혼란스럽네요, 알아요. 하지만 이런 기본적인 것들을 알아야 합니다. 그러니 점프하자!

유사성



둘 다 일반적으로 nullish 값이라고 합니다. null 또는 undefined 값을 가집니다. 이들은 또한 falsy values 로 나열되며 다음과 같습니다.
  • null
  • undefined
  • false
  • 0 (제로) —(-00n )
  • “” (빈 문자열)
  • NaN (숫자가 아님)

  • 거짓 값 자체는 부울 접근 방식에서 값이 거짓으로 생성됨을 의미합니다.

    차이점





    정의에서 null는 의도적으로 값이 없는 것입니다. undefined는 할당된 값이 없는 변수의 기본값입니다.

    const bowl = null; //null
    
    const bowl; //undefined
    

    위에서 언급했듯이 둘 다 거짓 값입니다. 그렇더라도 다음과 같이 작동합니다.

    null  == undefined
    null !== undefined
    

    왜요? 유형에 관해서는 완전히 다르기 때문입니다. Javascript는 null를 빈 객체로 정의하므로 typeof null를 수행하면 "object"가 표시됩니다. undefined는 기본 값입니다. undefined의 유형은 "undefined" 자체가 됩니다.

    숫자 형식으로 이퀄라이제이션을 시도하면 null는 0으로 식별되고 undefined는 숫자( NaN )로 인식되지 않습니다. 이와 같이:

    const addNum = 8 + null // 8
    const addNum = 8 + undefined // NaN
    



    결론


    undefinednull는 둘 다 동일한 값, 동일한 nullish 및 falsy를 갖지만 각각 다른 유형을 갖습니다. 따라서 자체 장소에서 사용하십시오.

    좋은 웹페이지 즐겨찾기