TIL_20210404
isFinite와 isNaN
-
isFinite(value)
– 인수를 숫자로 변환하고 변환한 숫자가NaN/Infinity/-Infinity
가 아닌 일반 숫자인 경우true
를 반환함 -
빈 문자열이나 공백만 있는 문자열은
isFinite
를 포함한 모든 숫자 관련 내장 함수에서0
으로 취급
// Example 1)
alert( isFinite("15") ); // true
alert( isFinite("str") ); // false, NaN이기 때문
alert( isFinite(Infinity) ); // false, Infinity이기 때문
// Example 2)
let num = +prompt("숫자를 입력하세요.", '');
// 숫자가 아닌 값을 입력하거나 Infinity, -Infinity를 입력하면 false 출력
alert( isFinite(num) );
-
Infinity
와-Infinity
– 그 어떤 숫자보다 큰 혹은 작은 특수 숫자 값 -
NaN
– 에러를 나타내는 값 -
isNaN(value)
– 인수를 숫자로 변환한 다음NaN
인지 테스트함
alert( isNaN(NaN) ); // true
alert( isNaN("str") ); // true
alert( NaN === NaN ); // false
Object.is와 ===
-
Object.is
는===
처럼 값을 비교할 때 사용되는 특별한 내장 메서드 -
아래와 같은 두 가지 에지 케이스에선
===
보다 좀 더 신뢰할만한 결과NaN
을 대상으로 비교할 때:Object.is(NaN, NaN) === true
0
과-0
이 다르게 취급되어야 할 때:Object.is(0, -0) === false
parseInt와 parseFloat
-
두 함수는 불가능할 때까지 문자열에서 숫자를 읽고, 숫자를 읽는 도중 오류가 발생하면 이미 수집된 숫자를 반환
-
parseInt
는 정수,parseFloat
는 부동 소수점 숫자를 반환
alert( parseInt('100px') ); // 100
alert( parseFloat('12.5em') ); // 12.5
alert( parseInt('12.3') ); // 12, 정수 부분만 반환
alert( parseFloat('12.3.4') ); // 12.3, 두 번째 점에서 숫자 읽기를 멈춤
alert( parseInt('a123') ); // NaN, a는 숫자가 아니므로 숫자를 읽는 게 중지
parseInt(str, radix)
- parseInt()의 두 번째 매개 변수는 선택적으로 사용radix
는 원하는 진수를 지정해 줄 때 사용
alert( parseInt('0xff', 16) ); // 255
alert( parseInt('ff', 16) ); // 255, 0x가 없어도 동작합니다.
alert( parseInt('2n9c', 36) ); // 123456
Author And Source
이 문제에 관하여(TIL_20210404), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@qkrcndtlr123/TIL20210404저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)