[240415] 28장 Number
Number 생성자 함수
- 표준 빌트인 객체인 Number 객체는 생성자 함수 객체다.
- new 연산자 통해 Number 인스턴스 생성 가능
- new 없이 생성자 호출하면 인스턴스가 아닌 숫자 반환
const numObj = new Number(10); // Number {[[PrimitiveValue]] : 10 }
const numObj2 = new Number('10'); // Number {[[PrimitiveValue]] : 10 }
const numObj3 = new Number('Hello'); // Number {[[PrimitiveValue]] : NaN }
Number('0'); // 0
Number 프로퍼티
1. Number.EPSILON
- ES6 도입
- 부동 소수 오류 해결하기 위해 사용
- 1과 1보다 큰 숫자중에서 가장 작은 숫자와의 차이와 같음
// 문제
0.1 + 0.2; // 0.30000000004
0.1 + 0.2 === 0.3; // false
function isEqual(a,b) {
return Math.abs(a-b) < Number.EPSILON;
}
2. Number.MAX_VALUE
- 자바스크립트에서 표현할 수 있는 가장 큰 양수 값
- Number.MAX_VALUE 보다 큰 숫자는 Infinity 다.
Infinity > Number.MAX_VALUE; // true
3. Number.MIN_VALUE
- 자바스크립트에서 표현할 수 있는 가장 작은 양수 값
- Number.MIN_VALUE 보다 작은 숫자는 0 다.
Number.MIN_VALUE > 0; // true
4. Number.MAX_SAFE_INTEGER
- 가장 큰 정수값
5. Number.MIN_SAFE_INTEGER
- 가장 작은 정수값
6. Number.POSITIVE_INFINITY
- 양의 무한대를 나타내는 숫자값
- Infinity 와 같음
7. Number.NEGATIVE_INFINITY
- 음의 무한대를 나타내는 숫자 값
-
- Infinity 와 같음
8. Number.NaN
- window.NaN 과 같다.
- 숫자가 아님을 나타내는 숫자값
Number 메서드
1. Number.isFinite
- ES6에서 도입
- 인수로 전달된 숫자값이 정상적인 유한수, Infinity - Infinity 가 아닌지 검사하여 불리언으로 반환
Number.isFinite(null); // false 반환
isFinite(null); // true
2. Number.isInteger
- 숫자값이 정수인지 검사하여 불리언 값으로 반환
- 암묵적 반환 안함
3. Number.isNaN
- ES6에서 도입
- NaN인지 검사하여 불리언 값으로 반환
Number.isNaN(undefined); // false
isNaN(undefined); // true
4. Number.isSafeInteger
- ES6 도입
- 안전한 정수인지 검사하고 불리언으로 반환
- 범위 내에 있으면 됨
- 암묵적 타입 변환하지 않음
5. Number.prototype.toExponential
- 숫자를 지수 표기법으로 변환하여 문자열로 반환
6. Number.prototype.toFixed
- 숫자를 반올림하여 문자열로 반환
- 기본 값 0
(12345.6789).toFixed(); // 12346
(12345.6789).toFixed(1); // 12345.7
7. Number.prototype.toPrecision
- 인수로 전달받은 전체 자릿수까지 유효하도록 나머지 자릿수를 반올림하여 문자열로 반환
8. Number.prototype.toString
- 문자열로 반환
Leave a comment