본문 바로가기

Javascript

데이터타입 , undefined, null, NaN 차이점

undefined

undefined 는 변수를 선언은 하였지만, 값을 할당하지 않을 경우의 상태를 나타낸다.(변수의 초기값인 셈)

const word

console.log(word) // undefined

원시 자료형에서의 undefined

Boolean(undefined)  // false
Number(undefined)   // NaN
String(undefined)	// 'undefined'

typeof(undefined)   // 'undefined'

null

null 은 명시적으로 값이 비어있는 상태를 나타낼 때 사용된다.

const word = null

console.log(word) // null

원시 자료형에서의 null

Boolean(null)  // false
Number(null)   // 0
String(null)   // 'null'

typeof(null)   // 'object'

 

 

undefined 와 null의 차이는?

undefined
   변수의 값이 등록 되어있지 않기 때문에 초기값으로 자동 정의된 것이다.

null
값은 값이지만 값으로써 의미없는 특정한 값이 등록되어 있는 것이다.

 

undefined 는 미리 선언된 전역변수(전역 객체의 프로퍼티)

null 은 선언, 등록을 하는 키워드인 것이다.(의도적으로  개발자가 저장한것)


 

NaN

NaN의 뜻은 not a number의 함축한 것이다.

즉, 숫자가 아닌 다른 원시형으로 해석하여 출력된 값이다.

function sanitise(x) {
  if (isNaN(x)) {  // isNaN은 NaN인지 판별하는 메서드
    return NaN;
  }
  return x;
}

console.log(sanitise('1')); // 1

console.log(sanitise('NotANumber')); // NaN

 

원시 자료형에서의 NaN

Boolean(NaN)  // false
Number(NaN)   // NaN
String(NaN)   // 'NaN'

typeof(NaN)   // 'number'

 

 

 

 

 

 

 

 

출저 : undefined, null, NaN의 차이 (velog.io)

 

undefined, null, NaN의 차이

undefined, null, NaN 각각의 원시형 분석

velog.io