28.1. Number 생성자 함수
- 표준 빌트인 생성자 함수 객체
- new 연산자와 함께 Number 인스턴스 생성
- 인수 없이 호출하면 0을 할당한 래퍼 객체 생성
- 전달받은 숫자 값을 할당하여 생성
- 숫자가 아닌 값을 전달하면 강제 타입 변환 후 생성
- 변환할 수 없다면 NaN 할당하여 생성
- new 없이
Number() 가능
28.2. Number 프로퍼티
28.2.1. Number.EPSILON
- ES6 도입: 1과 1보다 큰 숫자 중에서 가장 작은 숫자와의 차이
28.2.2. Number.MAX_VALUE
- 자바스크립트에서 표현할 수 있는 가장 큰 양수 값
- 이보다 큰 숫자는 Infinity
28.2.3. Number.MIN_VALUE
- 자바스크립트에서 표현할 수 있는 가장 작은 양수 값 = 0
28.2.4. Number.MAX_SAFE_INTEGER
- 자바스크립트에서 안전하게 표현할 수 있는 가장 큰 정수 값 (9007199254740991)
28.2.5. Number.MIN_SAFE_INTEGER
- 자바스크립트에서 안전하게 표현할 수 있는 가장 작은 정수 값 (-9007199254740991)
28.2.6. Number.POSITIVE_INFINITY
- 양의 무한대를 나타내는 숫자값 = Infinity
28.2.7. Number.NEGATIVE_INFINITY
- 음의 무한대를 나타내는 숫자값 = -Infinity
28.2.8. Number.NaN
28.3. Number 메서드
28.3.1. Number.isFinite
- ES6 도입: 전달된 인수의 유한수 여부 판별하여 boolean 반환
- Infinity 또는 -Infinity 여부 확인 -> false
- NaN -> false
- Number.isFinite는 변환하지 않음 -> 숫자가 아닌 인수는 항상 false
- 빌트인 전역 함수 isFinite는 암묵적 타입 변환하여 수행
28.3.2. Number.isInteger
- ES6 도입: 전달된 인수의 정수 여부 판별하여 boolean 반환
- 타입 변환하지 않음
28.3.3. Number.isNaN
- ES6 도입: 전달된 인수의 NaN 여부 판별하여 boolean 반환
- 타입 변환하지 않음
- 빌트인 전역 함수 isNaN은 암묵적 타입 변환하여 수행
28.3.4. Number.isSafeInteger
- ES6 도입: 전달된 인수가 안전한 정수인지 판별하여 boolean 반환
- 안전한 정수 값은 -(2^53 - 1)과 2^53 - 1 사이의 정수값
- 타입 변환하지 않음
28.3.5. Number.prototype.toExponential
28.3.6. Number.prototype.toFixed
- 숫자를 반올림하여 문자열로 반환
- 반올림하는 소수점 이하 자릿수를 0~20 사이 정수값으로 전달
28.3.7. Number.prototype.toPrecision
- 전달받은 인수로 길이를 제한하여 반올림 후 문자열 반환
- 전달받은 인수로 자릿수를 표현할 수 없는 경우 지수 표기법 반환
- 생략하면 기본값 0 지정
const num = new Number(1.232323);
num.toPrecision();
num.toPrecision(1);
num.toPrecision(10);
28.3.8. Number.prototype.toString
- 숫자를 문자열로 변환하여 반환
- 진법을 나타내는 2~36 사이의 정수값을 인수로 전달 가능
[출처] 모던 자바스크립트, Deep Dive