컴퓨터는 기본적으로 2진수를 가지고 있다.
사람이 생각하는 숫자는 10진수이다.
따라서 이러한 간극 때문에 숫자를 다루기 어렵다. 특히 소수점에서 간극이 많이 생긴다.
이러한 간극을 자바스크립트는 IEEE754 표준을 사용하여서 부동소수점을 표현을 표준을 이용해 해결하려고 한다.
* isNaN (is Not a Number) (Bad)
- 숫자가 아니다.
- typeof를 이용하다가 isNaN을 통해서 숫자를 확인할 경우가 있다.
isNaN : true // 숫자가 아니다.
isNaN : false // 숫자가 맞다. (숫자가 아닌게 아니다)
isNaN(123) // false
- isNaN은 느슨한 검사를 한다. 따라서 엄격한 검사를 해주어야한다.
* Number.isNaN (Good)
- 엄격한 검사를 해준다. (안전하게 검사가 가능하다)
Number.isNaN(123 + '테스트') // false (숫자가 맞다.)
isNaN(123 + '테스트') // true (숫자가 아니다.)
'Study > JavaScript(Clean code)' 카테고리의 다른 글
[JavaScript][clean-code] first-last (0) | 2022.05.28 |
---|---|
[JavaScript][clean-code] min - max & begin - end (0) | 2022.05.28 |
[JavaScript][clean-code] undefined & null (0) | 2022.05.27 |
[JavaScript][clean-code] eqeq줄이기 & 형 변환 주의하기 (0) | 2022.05.27 |
[JavaScript][clean-code] 타입 검사 (0) | 2022.05.26 |