반응형
🌈 자바스크립트 BigInt
BigInt는 Number가 나타낼 수 있는 최댓값인 2^53 - 1 보다 큰 정수를 표현할 수 있는 내장 객체이다.
Number로 표현했을 때 Infinity가 되는 아주 큰 값도 BigInt로 정수 형태를 잃지 않고 표현할 수 있다.
1️⃣ 사용방법
BigInt는 정수 리터럴의 뒤에 n을 붙이거나 BigInt()를 호출해 생성할 수 있다.
const theBiggestInt = 9007199254740991n;
const alsoHuge = BigInt(9007199254740991);
// ↪ 9007199254740991n
const hugeString = BigInt("9007199254740991");
// ↪ 9007199254740991n
const hugeHex = BigInt("0x1fffffffffffff");
// ↪ 9007199254740991n
const hugeBin = BigInt("0b11111111111111111111111111111111111111111111111111111");
// ↪ 9007199254740991n
2️⃣ BigInt 사용시 주의점
◾ 연산 시 Number 와 함께 연산할 수 없고, BigInt끼리만 연산할 수 있다.
→ BigInt의 연산을 위해서는같은 자료형으로 변환해야 하며, BigInt가 Number로 바뀌면 정확성을 잃을 수 있다.
◾ max, min, abs등 Math 객체의 메서드를 사용할 수 없다.
◾ Array의 내장함수인 sort함수를 BigInt가 담긴 배열에 사용했을 때 잘못된 결과를 도출할 수 있다.
◾ 소수점 결과를 포함하는 연산을 BigInt와 사용하면 소수점 이하는 사라진다.
const expected = 4n / 2n;
// ↪ 2n
const rounded = 5n / 2n;
// ↪ 2.5n이 아닌 2n
📌 참고사이트
반응형
'Frontend > JavaScript' 카테고리의 다른 글
[JS] 참조 타입의 얕은 복사와 깊은 복사(Shallow Copy & Deep copy) (2) | 2022.05.25 |
---|---|
[JS]자바스크립트의 원시 타입과 참조 타입 (0) | 2022.05.24 |
[JS] 자바스크립트 모듈화의 역사 (0) | 2022.05.19 |
[JS] 자바스크립트 아스키 코드를 문자로 변환하기 (0) | 2022.05.10 |
[JS] 자바스크립트 문자를 아스키 코드로 변환하기 (0) | 2022.05.09 |
최근댓글