JavaScript에서 숫자는 전통적으로 배정밀도 부동 소수점 연산에 대한 IEEE 754 표준을 준수하는 Number 유형을 사용하여 표현되었습니다. 이 표현은 다재다능하기는 하지만 제한 사항이 있습니다. 최대 (2^{53} - 1)(또는 (9,007,199,254,740,991))까지의 정수만 안전하게 표현할 수 있습니다. 더 큰 정수가 필요한 애플리케이션의 경우 JavaScript는 BigInt 유형을 통해 솔루션을 도입합니다.
BigInt는 Number 유형으로 처리할 수 있는 것보다 더 큰 정수를 나타내는 방법을 제공하는 JavaScript의 내장 객체입니다. 부동 소수점 연산에 적합하고 대략 (-1.8 곱하기 10^{308}) ~ (1.8 곱하기 10^{308}) 사이의 값을 처리할 수 있는 Number와 달리 BigInt는 임의 정밀도 정수 연산을 위해 특별히 설계되었습니다.
BigInt 값을 생성하는 방법에는 두 가지가 있습니다.
const bigIntValue = BigInt(123456789012345678901234567890);
BigInt는 문자열과 숫자를 허용하지만 숫자를 사용할 때는 숫자 유형 범위 내에 있어야 합니다.
const bigIntLiteral = 123456789012345678901234567890n;
이것은 BigInt 값을 직접 정의하는 보다 간결한 방법입니다.
BigInt는 대부분의 표준 산술 연산자를 지원합니다. 간략한 개요는 다음과 같습니다.
const a = 10n; const b = 20n; const sum = a + b; // 30n
const difference = b - a; // 10n
const product = a * b; // 200n
const quotient = b / 3n; // 6n (Note: Division results in a `BigInt` which is truncated towards zero)
const remainder = b % 3n; // 2n
const power = a ** 3n; // 1000n
BigInt는 표준 비교 연산자를 사용하여 비교할 수 있습니다. BigInt 값과 Number 값은 직접 비교할 수 없습니다.
const a = 10n; const b = 10; console.log(a == b); // false console.log(a === BigInt(b)); // true
BigInt와 Number 간의 변환은 명시적인 변환 방법을 사용하여 수행할 수 있습니다.
const bigIntValue = 123n; const numberValue = Number(bigIntValue);
참고: BigInt 값이 너무 크면 정밀도가 떨어질 수 있습니다.
const numberValue = 123; const bigIntValue = BigInt(numberValue);
const a = 10n; const b = 5; // The following line will throw a TypeError const result = a + b;
const bigIntValue = 123n; JSON.stringify(bigIntValue); // Throws TypeError
JSON에서 BigInt를 처리하려면 먼저 문자열로 변환해야 할 수도 있습니다.
const bigIntValue = 123n; const jsonString = JSON.stringify({ value: bigIntValue.toString() });
BigInt는 다음과 같이 큰 정수의 정밀도가 중요한 시나리오에서 특히 유용합니다.
BigInt는 JavaScript에 추가된 강력한 기능으로, Number 유형의 한계를 넘어 정수 처리 기능을 확장합니다. 작동, 제한 사항 및 적절한 사용 사례를 이해하면 큰 정수 계산이 필요한 애플리케이션에서 이점을 활용하는 데 도움이 될 수 있습니다.
위 내용은 JavaScript의 BigInt 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!