Deep Dive 28장 Number(1) 프로퍼티

@hanminss·2022년 1월 19일
0

Deep Dive

목록 보기
16/16
post-thumbnail

Number 프로퍼티

1. Number.EPSILON ES6

1 과 1보다 큰 숫자 중 가장 작은 숫자, 두 숫자의 차이를 저장하고 있다. 이런걸 어디에 쓸까? Number.EPSILON은 부동 소수점으로 인해 발생하는 오차를 해결하기 위하여 사용한다.

console.log(Number.EPSILON); // 2.220446049250313e-16

console.log(0.1+0.2); // 0.30000000000000004

console.log(0.1+0.2 === 0.3); // false
0.10.2 를 더하면 0.3이 나오는 것이 당연하지만 ......0004 의 작은 오차가 발생한다.  때문에 당연한 수식도 false가 나오게 된다. 이런 오차를 해결하기 위해 나온것이 EPSILON 이다.

console.log(Math.abs((0.1+ 0.2) - 0.3) < Number.EPSILON); //true

2. Number.MAX_VALUE

자바스크립트에서 표현할 수 있는 가장 큰 양수 값을 저장하고 있다. 이 다음 수는 Infinity이다.

console.log(Number.MAX_VALUE) // 1.7976931348623157e+308

3. Number.MIN_VALUE

자바스크립트에서 표현할 수 있는 가장 작은 양수 값을 저장하고 있다. 이 다음 수는 0이다.

console.log(Number.MIN_VALUE) // 5e-324

4. Number.MAX_SAFE_INTEGER

자바스크립트에서 안전하게 표현할 수 있는 가장 큰 정수값을 저장하고 있다.

console.log(Number.MAX_SAFE_INTEGER) // 9007199254740991
console.log(Number.MAX_SAFE_INTEGER + 1) // 9007199254740992
console.log(Number.MAX_SAFE_INTEGER + 2) // 9007199254740992
console.log(Number.MAX_SAFE_INTEGER + 3) // 9007199254740994
console.log(Number.MAX_SAFE_INTEGER + 4) // 9007199254740996

5. Number.MIN_SAFE_INTEGER

자바스크립트에서 안전하게 표현할 수 있는 가장 작은 정수값을 저장하고 있다.

console.log(Number.MIN_SAFE_INTEGER) // -9007199254740991
console.log(Number.MIN_SAFE_INTEGER - 1) // -9007199254740992
console.log(Number.MIN_SAFE_INTEGER - 2) // -9007199254740992
console.log(Number.MIN_SAFE_INTEGER - 3) // -9007199254740994
console.log(Number.MIN_SAFE_INTEGER - 4) // -9007199254740996

6. Number.POSITIVE_INFNITY

양의 무한대를 나타내는 숫자값 Infinity 값을 가지고 있다.

console.log(Number.POSITIVE_INFINITY); // Infinity

7. Number.NEGATIVE_INFNITY

음의 무한대를 나타내는 숫자값 -Infinity 값을 가지고 있다.

console.log(Number.NEGATIVE_INFINITY); // -Infinity

8. Number.NaN

Not-a-Number 를 나타내는 NaN을 가지고 있다.

console.log(Number.NaN); // NaN

0개의 댓글