BigInt 프리미티브는 상대적으로 새로 추가된
범위 밖의 숫자에 대한 수학 연산을 허용하는 JavaScript
Number
에서 허용됨 BigInt를 만들려면 숫자 끝에 n
를 추가합니다.
리터럴을 사용하거나 정수 또는 숫자 문자열 값을 BigInt()
함수에 전달합니다.
const myNumber = 9999999999999999;
const myBigInt = 9999999999999999n;
typeof myNumber;
> "number"
typeof myBigInt;
> "bigint"
myNumber;
> 10000000000000000
myBigInt;
> 9999999999999999n
이 예에서 9999999999999999
은
Number
로 안전하게 표현되므로 반올림 오류가 발생합니다.
BigInt 값이 Number
객체로 메서드와 속성을 상속하지 않음
JavaScript의 내장 Math
메서드와 함께 사용할 수 없습니다.
객체를 제공합니다 가장 중요한 점은, BigQuery에서 BigInt와 Number 프리미티브를 혼합해서
표준 산술 연산의 예입니다.
9999999999999999n + 5
> Uncaught TypeError: can't convert BigInt to number
BigInt로 산술을 수행하려면 두 피연산자를 모두 BigInt 값으로 정의해야 합니다.
console.log( 9999999999999999 + 10 ); // Off by one
> 10000000000000010
console.log( 9999999999999999n + 10n );
> 10000000000000009n