isNaN과 Number.isNaN()의 차이

Antipiebse·2022년 3월 17일
0

다양한 지식

목록 보기
5/21

NaN이란 Not a Number의 줄임말로 숫자가 아닌이라는 의미이다.
즉, 위의 두 내장함수는 숫자가 아닌 지에 대해 검사한다.

	isNaN(15) //false
	isNaN(1.23) //false
	isNaN('hello') //true
	isNaN(null) //false 

null은 js에서 Object이니 주의!

	Number(null) //0
	isNaN(null) //false
또한
	isNaN("15") //false
	isNaN("3.14") //false

isNaN()은 넘어오는 인자를 Number로 형변환을 시도한다.

ES6에선 형변환을 하지않고 검사하는 Number.isNaN()을 통해 해결이 가능하다.

function solution(arr) {
  for (let i = 0; i < arr.length; i++) {
      console.log(Number.isNaN(arr[i]))
  }
}

const arr = ['1', '2w', '3', 'qwer'];

solution(arr);

//false
//false
//false
//false
profile
백엔드 주니어 개발자

0개의 댓글