프론트엔드✏️
null, undefined
당근먹는하니
2022. 7. 1. 16:47
728x90
반응형
undefined는 아예 박스가 없는 상태, null은 박스는 있는데 안에 아무것도 없는 것과 같다.
let a = undefined;
let b = null;
console.log(typeof(a)); // 'undefined'
console.log(typeof(b)); // 'object'
undefined의 type은 'undefined'
null의 type은 'ojbect'다.
undefined는 말 그대로 아무것도 정의되지 않은 상태다.
호이스팅 포스팅을 보면 함수 선언부만 갖고 함수 호출을 했을 때 정의부를 가져올 수 없어서 undefined가 뜬다.
null은 값이 없음을 나타낸다. 할당이 되지 않은 undefined 상태가 아니라, 빈 값이 할당된 상태다.
둘 다 boolean값에선 false로 취급된다.
let a = undefined;
let b = null;
console.log(a==b); // true
console.log(a===b); // false
이전에도 썼지만 undefined와 null을 == 연산자(동등 연산자)로 비교해보면 true로 나온다.
728x90
반응형