null 과 undefined 차이

양주영·2021년 10월 20일
0

javascript

목록 보기
29/42

✏️ null & undefined


undefined은 변수를 선언하고 값을 할당하지 않은 상태,
null은 변수를 선언하고 빈 값을 할당한 상태(빈 객체) 를 의미한다.

  • undefined는 원시값으로, 선언은 됐지만 아직 value가 할당되지 않은 경우 의미한다.

  • ull은 원시값으로, ‘빈값’을 의미하는데 사용자가 준 value이다.
    그래서 undefined와 다르게 자바스크립트가 자동적으로 null이란 값을 줄 수 없다.

let a;
let a = null;

console.log(null == undefined); //true
console.log(null === undefined); //false

염격일치 연산(===)는 value뿐만 아니라 type도 같아야 true가 나온다.
아래를 참고하면 차이를 쉽게 이해할 수 있다.

typeof null          // "object" (하위호환 유지를 위해 "null"이 아님)
typeof undefined     // "undefined"
null === undefined   // false
null  == undefined   // true
null === null        // true
null == null         // true
!null                // true
isNaN(1 + null)      // false
isNaN(1 + undefined) // true


💡 그러면 null과 undefined의 type은 어떤 타입일까?

console.log(typeof null); 
// object
console.log(typeof undefined);
 //undefined

nulltypeobject인 이유는 ‘값이 없음’을 의미하는 ‘할당된’ value이기 때문이다.
undefined는 값이 지정되지 않은 경우를 의미하지만, null은 해당 변수가 어떤 객체도 가리키고 있지 않다는 것을 의미한다.



참조 >
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/null
https://developer.mozilla.org/ko/docs/Glossary/undefined

profile
뚜벅뚜벅

0개의 댓글