👋 진수, EPSILON: Number.EPSILON, 진수
1. Number.EPSLON
-
Number.EPSILON
- 아주 작은 값
- 2.220446049250313080847263361816E-16
- 또는 2^-52
-
사용 사례
- 미세한 값 차이 형태
const total = 0.1 + 0.2; console.log(total); // 0.3000000000000000004 console.log(total === 0.3); // false
- JS가 부동소수점 처리를 하기 때문(IEEE 74)
- 이처럼 미세한 값 차이로 일치하지 않을 때
EPSILON
을 사용 - 미세한 값 차이를 같은 값으로 간주
const value = Math.abs(0.1 + 0.2 - 0.3); console.log(value < Number.EPSILON); // true
- 값 차이가
Number.EPSILON
보다 작으면true
를 반환` 0 / 0
으로NaN
가 되는 것을 방지
console.log(0 / 0); // NaN const value = 0 / (0 + Number.EPSILON); console.log(value);
(0 + Number.EPSILON)
처럼 작은 값을 더해 나누면0
이 됨
2. 진수
-
Binary(2진수)
0b0101
,0B0101
형태로 작성- 숫자
0
다음에b/B
작성하고 이어서0
또는1
로 값을 작성
const value = 0b111; console.log(value); // 7 // 1 + 2 + 4
-
Octal(8진수)
0O0105
형태로 작성- 숫자
0
다음에 영문o/O
작성하고 이어서0~7
로 값을 작성 - ES3는 첫 자리에 영문
o/O
작성
const value = 0o1111; console.log(value); // 1 + 8 + 64