BigInt
는 Number
가 표현할 수 있는 2^52 - 1보다 더 큰 정수를 표현할 수 있는 내장 객체이다. 정수 리터럴 뒤에 n
을 붙이거나BigInt()
를 호출해 생성할 수 있다.
(Number
가 표현할 수 있는 최대 수는 Number.MAX_VALUE
로 얻을 수 있다. 안정적으로 표현된 수는 Number.MAX_SAFE_INTEGER
로 얻을 수 있다.)
const theBiggestInt = 9007199254740991n;
const alsoHuge = BigInt(9007199254740991);
typeof theBiggestInt // 'bigint'
BugInt
는 내장 Math
객체의 메서드를 함께 사용할 수 없고, Number
와 혼합해 사용할 수 없다. 같은 자료형으로 변환해야 사용할 수 있지만 값의 정확성이 떨어질 수 있다.
BigInt
사이에서는 산술연산자를 사용할 수 있다. 하지만 정수만을 표현하므로 언제나 소수점 이하를 버린다.