← Back to NOTES 🌰 ← Effective JavaScript 🤿
← 아이템 1 - 어떤 자바스크립트를 사용하고 있는지 알아야 한다
JavaScript의 Number 자료형은 64비트 부동소수점 형식으로 처리되며, 이로 인해 부정확한 연산 결과가 발생할 수 있다. 이러한 부동소수점 오차를 이해하고 적절한 대안을 사용해야 한다.
// 다양한 숫자 리터럴 형식
7; // 정수 리터럴
2.5; // 부동 소수점 리터럴
0b111; // 2진수 리터럴 (binary literal)
0o777; // 8진수 리터럴 (octal literal)
0xf5; // 16진수 리터럴 (hexadecimal literal)
10_000; // 숫자 구분 기호 (Numeric Separators)
// 부동소수점 오차의 가장 유명한 예시
0.1 + 0.2 === 0.3; // false, 0.30000000000000004
// 2진 표현 확인
const dec = 0.2;
console.log(dec.toString(2));
// 0.001100110011001100110011001100110011001100110011001101....
// 큰 정수에서의 오차
10000000000000001 + 10000000000000002; // 20000000000000000
12345678901234567890; // 12345678901234567000