bigint

BigInt

BigInt 길이의 제약 없이 정수르 사용할 수 있게 한다.
리터럴로 정수 끝에 n 을 붙이거나 BigInt()를 사용하면 된다.

1
2
3
4
5
const bigint = 1234567890123456789012345678901234567890n;

const sameBigint = BigInt("1234567890123456789012345678901234567890");

const bigintFromNumber = BigInt(10); // 10n과 동일합니다.

수학 연산자

일반 숫자와 큰 차이 없이 사용할 수 있다.

BigInt 형 값을 대상으로 한 연산은 BigInt 형 값을 반환한다. BigInt 형 값과 일반 숫자를 섞어서 사용할 순 없다.

1
alert(1n + 2); // Error: Cannot mix BigInt and other types

BigInt()Number()를 명시해 줌으로서 같이 사용할 수 있다.

1
alert(1n + BigInt(2));

bigint를 정수형으로 바꾸기 위해서 +를 사용할 수 없다. 명시적으로 Number()를 사용해 주어야 하고, bigint 값이 너무 큰 경우는 비트는 자동으로 자렬 나간다.

비교 연산자

1
2
alert(2n > 1n); // true
alert(2n > 1); // true

비교 연산은 서로간에 가능한다.

1
2
alert(1 == 1n); // true
alert(1 === 1n); // false

같은 수라도 타입이 다르기 때문에 ===를 사욯아면 false를 반환한다.

논리 연산

if 안에서 0n 은 falsy 이고 다른 값은 truthy로 평가된다.