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