본문 바로가기
JS

JS, BigInt

by Hyeon_E 2023. 10. 19.

BigInt

Number의 원시 값이 안정적으로 나타낼수 있는 최대치인 2^53 -1보다 큰 정수를 표현할 수 있는 내장 객체

BigInt는 정수 리터럴의 뒤에 n을 붙이거나 함수 BigInt()를 호출해 생성할 수 있음

const ExBigInt = 9007199254740991n;
const ExBigInt2 = BigInt(9007199254740991);

 

BigInt는 Number과는 다르게 Math 객체의 메서드와 함께 사용할 수 없음

또한 연산에서 Number과 혼합해 사용할 수 없음

또한 연산의 결과는 언제나 소수점 이하를 버려 정수가 아닌 결과는 나오지 않음

 

자료형

BigInt의 typeof 판별 결과는 'bigint'임

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

 

비교

BigInt는 Number과 일치하지 않지만 동등함

0n === 0;	//false
0n == 0;	//true

 

일반적인 방법으로 비교할 수 있음

1n < 2;	//true

2n > 1;	//true

2 > 2;	//false

2n > 2;	//false

2n >= 2; //true

 

정렬도 가능

const mixed = [4n, 6, -12n, 10, 4, 0, 0n];

mixed.sort();	//[-12n, 0, 0n, 10, 4n, 4, 6]

'JS' 카테고리의 다른 글

JS, use strict / undeclared  (0) 2023.10.31
JS, 소수점 오류  (0) 2023.10.21
JS, 모든 문자열 치환(replace, replaceAll)  (1) 2023.10.17
JS, 배열 비교  (0) 2023.10.12
JS, 내장함수를 이용한 숫자/날짜의 현지화  (0) 2023.07.08

댓글