NaN vs null vs undefined

돌리의 하루·2023년 2월 7일
0
post-thumbnail

NaN과 isNaN의 차이를 찾아보다가...

undefined,null,nan의 차이에 대해서 같이 블로깅 해보려고 한다.

🧡 NaN = not a number

숫자가 아닌 다른 값으로 해석하여 출력된 값이다

function isNumber(a) {
if(isNaN(a)){ //a가 NaN일때 NaN반환
	return NaN;
	}
return a; //아니라면 그냥 a 반환
}

console.log(isNumber(5)) // 5
console.log(isNumber('hello')) //NaN
Number('hello') // NaN

🧡 NAN과 isNaN에 대해서

문자열을 number로 바꾸려고 하면 Nan이 나온다.
그렇다면 isNaN은?
어떤 값이 NaN인지 판별하는 함수(메서드)다.
하지만 MDN에서는, 함수는 몇몇 혼란스러운 케이스을 가지고 있으므로, ECMAScript 2015에서 추가한 Number.isNaN()으로 바꾸는 편이 좋을 수도 있다.라고 설명한다.

💛 undefined

변수는 선언했지만, 값을 할당하지 않은 경우다.

let mango
console.log(mango) //undefined

++ 원시자료형에서의 undefined

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

typeof(undefined)//'undefined'

💜 null

명시적으로 값이 비어있는 상태를 말한다.

let mango =null
console.log(mango) //null

++ 원시자료형에서의 null

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

typeof(null)//'object'

💨 undefined와 null의 차이는 무엇일까?

undefined는 변수의 값이 등록되어 있지 않아서 초기값으로 정의되었고,
null은 값으로써 의미없는 특정값이 등록되어 있는 것이다.

profile
진화중인 돌리입니다 :>

0개의 댓글