저는 최근 ES6를 배우고 있는데 수치 확장에 관해 몇 가지 질문이 있습니다.
ES6은 Number 개체에 대해 Number.isFinite() 및 Number.isNaN()
이라는 두 가지 메서드를 제공합니다.ES5와의 차이점은 심사하기 전에 숫자가 아닌 값을 숫자 값으로 변환하기 위해 Number()를 한 번 호출할 필요가 없다는 점입니다.
참고: 이 두 가지 방법과 전통적인 isFinite() 및 isNaN() 방법의 차이점은 전통적인 방법은 먼저 Number()를 호출하여 숫자가 아닌 값을 숫자 값으로 변환한 다음 판단한다는 것입니다. 이 두 가지 방법은 숫자 값에만 유효하며 숫자가 아닌 값에 대해서는 false를 반환합니다.
이러는 이유를 잘 모르겠습니다. 판단하기 전에 Number()를 한 번 호출하여 숫자가 아닌 값을 숫자 값으로 변환하는 것이 좋지 않을까요?
MDN 설명을 확인하실 수 있습니다
isFinite에 대해서는 Number.isFinite(true)와 isFinite(true)를 비교해 보면 알 수 있습니다. 물론 Number.isFinite("") 및 isFinite("")도 작동합니다.
이 두 함수는 숫자에 대해 값이 제한되어 있는지 또는 NaN인지 확인하는 데 사용됩니다. 이는 다른 문제를 가져오고 숫자뿐만 아니라 문자열과 같은 유형도 판단할 수 있게 됩니다.
참고링크:
es6
isNaN