일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- JS
- react localStorage
- 원티드
- 컴포넌트
- Component
- til
- 프론트엔드
- es6
- 리액트
- JavaScript
- Frontend
- v9
- 비트 연산자
- axios
- 프리온보딩
- 파이어베이스
- 브라우저
- firebase
- array
- Redux
- 자바스크립트
- CORS
- Reducer
- 알고리즘
- localstorage
- 타입스크립트
- state
- TypeScript
- 프로그래머스
- react
Archives
- Today
- Total
도리쓰에러쓰
[JavaScript] ES11 새로운 데이터 타입 :: BigInt 본문
자바스크립트 ES6 문법에서는
숫자(number) 타입, 문자열(string) 타입, 불리언(boolean) 타입, undifined 타입, null 타입, 심벌(Symbol) 타입, 객체 타입
총 7개의 데이터 타입을 제공했는데,
ES11 문법에서 BigInt라는 새로운 데이터 타입이 추가되었습니다.
그럼 지금부터 BigInt에 대해서 알아보겠습니다.
1. 선언 방법
BigInt는 길이의 제약 없이 정수를 다룰 수 있게 해주는 숫자형입니다.
BigInt를 선언하기 위해 총 3가지 방법이 있습니다.
let bigInt1 = 184738832473n;
let bigInt2 = BigInt("123123123123123");
let bigInt3 = BigInt(10000000000);
console.log(bigInt1); // 184738832473n
console.log(bigInt2); // 123123123123123n
console.log(bigInt3); // 10000000000n
2. 연산자
1️⃣ 수학 연산자
let big1 = 1n + 2n;
let big2 = 5n / 2n;
console.log(big1); // 3n
console.log(big2); // 2n
2️⃣ 비교 연산자
console.log(1n > 2n); // false
3️⃣ 논리 연산자
console.log(3n == 3n); // true
💡 숫자(Number) 타입 vs bigInt 타입
1️⃣ 수학 연산자
console.log(5n+2); // Uncaught TypeError
- 타입이 다르기 때문에 Uncaught TypeError가 납니다.
- 해결 방법 : bigInt 타입을 숫자(Number) 타입으로 변경하거나, 혹은 숫자(Number) 타입을 bigInt 타입으로 변경
2️⃣ 논리 연산자
- if문 안에서 bigInt 타입의 0n은 falsy이고, 그 외의 값은 truthy로 나타납니다.
// 1n은 truthy라 "안녕"이 출력됩니다.
if(1n && 2) {
console.log("안녕");
}
// 0n은 falsy라 "안녕"이 출력되지 않습니다.
if(0n && 2) {
console.log("안녕");
}
⭐ bigInt 타입의 브라우저별 지원 여부를 확인하시려면 아래 사이트를 확인해주세요 !
'JavaScript > JS' 카테고리의 다른 글
[JavaScript] 옵셔널 체이닝 연산자 (Optional Chaining Operator) - ?. (0) | 2022.03.02 |
---|---|
[JavaScript] 단항 산술 연산자, 문자열 연결 연결자, 비교 연산자, Object.is() (0) | 2022.02.13 |
[JavaScript] 배열 메소드 find()과 findIndex() (0) | 2022.02.02 |
[JavaScript] 변수 선언 var(ES5) / let, const(ES6)의 차이점 (0) | 2022.01.24 |
[JavaScript] 배열 내의 최댓값 & 최솟값 구하기 (Math.max.apply(), Math.min.apply()) (0) | 2022.01.06 |
Comments