반응형
null > 변수를 null 값으로 한 경우
let a = null;
console.log(a); // null
undefined > 변수를 선언만 한 경우
let b;
console.log(b); // undefined
undefined > 객체에서 선언되지 않은 프로퍼티를 접근하는 경우
let c = [1];
let d = { name: 'john' };
console.log(c[1]); // undefined
console.log(d.age); // undefined
null undefined 비교
타입 비교
console.log(typeof null); // object
console.log(typeof undefined); // undefined
불린으로 변환 시 비교
let a = null;
let b;
console.log(Boolean(a)); // false
console.log(Boolean(b)); // false
숫자로 변환 시 비교
let a = null;
let b;
console.log(Number(a)); // 0
console.log(Number(b)); // NaN
비교연산자로 비교
console.log(null === null); // true
console.log(undefined === undefined); // true
console.log(null == undefined); // true
console.log(null === undefined); // false
null을 ==(동등 비교)로 undefined와 비교하면 참이 나온다...
그말은 위에 변수를 선언만하면 값은 undefined이지만, 그 변수를 null과 ==로 비교한다면 참이나온다.
let b;
console.log(b); // undefined
console.log(b == null); // true
버그 방지를 위해 무조건 ===(일치 비교)를 쓰는게 좋다.
반응형
'코딩 > Javascript' 카테고리의 다른 글
자바스크립트 - Hoisting(호이스팅) & TDZ 쉬운 설명 (0) | 2022.10.14 |
---|---|
자바스크립트 - Comment (주석 처리) (0) | 2022.10.11 |
자바스크립트 call() apply() 차이 (0) | 2022.01.08 |
자바스크립트 bind() 사용법 (0) | 2022.01.07 |
자바스크립트 Canvas - 원 그리기 (0) | 2021.12.03 |