오늘부터 유데미로 복습하기로 했다! 불끈!

🎯NaN이란?
Not a Number의 약자. 즉 숫자가 아니다! 라는 뜻이다.
그런데, 숫자가 아니라고 하면서 자바스크립트에서 보면 신기하게 '숫자'라고 한다.
이게 무슨 뜻이냐면 아래를 보자!
typeof 연산자를 적용해보았다.
크롬브라우저에서 F12키를 눌러서 콘솔창에 아래를 입력해보면 다음과 같이 나온다.
typeof 1
//위와 같이 입력하면 결과값은 'number'라고 나온다.
typeof NaN
//위와 같이 입력하면 결과값 역시 'number'라고 나온다.
이렇게 나오는 이유는 자바스크립트에서는 숫자타입 or 숫자패밀리로 간주한다.
(이게 무슨소리? 자바스크립트는 그렇다고 이해해야 할 것 같다)

하여간
기억해야할 것은
NaN을 반환하는 연산에는 다섯 가지 종류가 있다고 하니,NaN으로 값이 나오면 아래 케이스가 없는지 의심해보아야겠다.
- 숫자로서 읽을 수 없을때: 예) parseInt("배고파")
- 결과가 허수인 수학 계산식일때 : 예) Math.sqrt(-1)
- 피연산자가 NaN이 들어가 있을때 : 예) 7 ** NaN
- 정의할 수 없는 계산식일때 : 예) 0 * Infinity, 0/0
- 문자열을 포함하면서 덧셈이 아닌 계산식 : 예) "BTS" / 7
'JAVA SCRIPT' 카테고리의 다른 글
[JS] 문자열 첫 문자를 대문자로 바꾸기 toUpperCase(), substring() (0) | 2022.12.15 |
---|---|
[JS] ES6에 대해서 (0) | 2022.12.10 |
[JS] typeof 연산자에 대해서 (0) | 2022.12.10 |
[JS] var, let, const에 대해서 (0) | 2022.12.10 |
JS : ?(조건 연산자)에 대해서 (0) | 2022.12.07 |