[JavaScript] Number Object - Number.EPSLON

Narcoker·2023년 6월 12일
0

JavaScript

목록 보기
29/55
post-custom-banner

Number.EPSLON

아주 작은 값이다.
2.220446049250313e-16
2^-52

사례

미세한 값 차이 형태

const total = 0.1 + 0.2;
console.log(total); // 0.30000000000000004
console.log(total === 0.3); // false

이러한 결과가 나오는 이유는 IEEE 754 기반이기 때문이다.
이러한 미세한 값 차이로 일치하지 않을 때 사용한다.

미세한 값 차이를 값은 값으로 간주

const value = Math.abs(0.1 + 0.2 - 0.3); // 5.551115123125783e-17
console.log(value < Number.EPSILON); // true, 5.551115123125783e-17 < 2.220446049250313e-16

값 차이가 Number.EPSILON 보다 작으면 true 반환

0 / 0 -> NaN 방지

consoel.log(0/0); // NaN
const value = 0 / (0 + Number.EPSILON);
console.log(value); // 0

분모 값에 아주 작은 값을 더해 나누면 에러가 발생하지 않는다.

profile
열정, 끈기, 집념의 Frontend Developer
post-custom-banner

0개의 댓글