Skip to content

JavaScript의 BigInt 자료형 #8

@dididy

Description

@dididy

조합 문제를 풀다가 BigInt를 사용해야 하는 상황이 생겼다. BigInt의 개념을 정리해보자.

핵심 개념

JavaScript의 원시형 중 하나이다. Number로 표현할 수 있는 범위인 2^53 - 1 보다 큰 정수를 표현할 때 사용한다.

typeof 1n === 'bigint'; // true
typeof BigInt('1') === 'bigint'; // true

사용법은 간단하다. BigInt() 함수를 호출하거나 숫자 뒤에 n을 붙이면 된다. BigInt는 typeof의 'bigint'로 검증할 수 있다.

연산자는 +, *, - **, % 를 사용할 수 있으나 >>>(부호 버림 오른쪽 시프트)는 사용할 수 없다. 단항 + 연산자도 지원하지 않는다.

나누기 연산을 할 때 소수점을 버린다. 그 이유는 BigInt는 BitDecimal이 아니기 때문이다. 이 점을 주의해야 한다.

console.log(0n === 0) // false
console.log(0n == 0) // true

BigInt는 Number와 일치하지 않지만 동등하다. 또한 일반적인 방법(비교연산자 사용)으로 비교할 수 있다.

또한 배열의 요소로 혼용되어 사용되는 경우에도 정렬이 가능하다.

Reference

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/BigInt

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions