본문 바로가기
FrontEnd/JavaScript

BigInt

by 해학 2022. 10. 9.
728x90


수치형 데이터

길이의 제약 없이 정수, 실수를 다룰 수 있게 해주는 숫자형 타입 입니다.

 

How ?

 

정수 리터럴 끝에 n 을 붙이거나  함수 BIgInt를 호출 하면 문자열이나 숫자를 가지고 BigInt 타입의 값을 만든다. 

Ex)
const bigint = 1234567890123456789012345678901234567890n;
 // 위 식과 아래 식의 값은 같다.
const sameBigint = BigInt("1234567890123456789012345678901234567890");

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

 

특징 

1. BigInt형 값과 일반 숫자를 섞어서 사용할 수 없습니다. ->  Error: Cannot mix BigInt and other types 

섞어서 사용 시에는 BigInt() 나 Number()를 사용해  명시적인 형 변환을 해야 합니다.

2. 일반 숫자와 큰 차이 없이 사용할 수 있다. (BigInt형 값을 대상으로 한 연산은 BigInt형 값을 반환)

ex)

let bigint = 1n;
let number = 2;

// 숫자를 bigint로
alert(bigint + BigInt(number)); // 3

// bigint를 숫자로
alert(Number(bigint) + number); // 3​


3. 단항 덧셈 연산자는 bigint에 사용할 수 없습니다. (사용 시 TypeError 발생)

4. 비교 연사자, 논리 연산자에도 사용 가능합니다.

 

의의 

자바스크립트에서 내부 표현방식으로 인해 값의 한계가 존재합니다.

 암호화 작업 등으로 인해 큰 숫자가 필요할 때 사용합니다.

 

728x90

'FrontEnd > JavaScript' 카테고리의 다른 글

prompt()  (0) 2022.10.18
예약어  (0) 2022.10.13
tabIndex  (0) 2022.08.15
숫자 타입  (0) 2022.07.22
Data type  (0) 2022.07.22