[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

  • 문자열로 반환

Categories:

Updated:

Leave a comment