본문 바로가기

코딩/Javascript

자바스크립트 - null undefined 차이

반응형

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

 

버그 방지를 위해 무조건 ===(일치 비교)를 쓰는게 좋다.

반응형