bigint

최경락 (K_ROCK_)·2022년 6월 8일
0

number의 한계

  • 우리가 JS 를 사용하면서 number 를 다룰 때 무한정 다룰 수는 없다.
  • number 자료형으로 다룰 수 있는 안전한 최대 값을 Number.MAX_SAFE_INTEGER 로 확인 할 수 있으며, 그 이상의 값을 다룬다면 아래의 사진처럼 정확한 값이 표시되지 않는 경우가 생긴다.

  • 혹은 아래 처럼 지수 표기법으로 표현된다.

→ 아래에서 지수표현을 시작하는 부분부터 숫자가 제대로 출력되지 않는다는 것을 볼 수 있다.

  • 여기서 문제점은 아래의 사진처럼 서로 비교하는 경우 다른 값임에도 불구하고 같은 값으로 판단한다는 것이다.

bigint

  • bigint 는 위처럼 number 가 정상적으로 다룰 수 있는 수 보다 큰 수를 다룰 때 사용하는 자료형이다.
  • BigInt(숫자) 혹은 숫자에 n 을 붙히는 것으로 사용이 가능하며, number 의 경우에 정상적으로 표시되지 않던 값이 정상적으로 표시 및 연산 되는 것을 볼 수 있다.

  • 다만, 해당 값을 다시 number 타입으로 바꾸는 경우, 이전과 같이 제대로 표시되지 않는
  • 해당 값을 출력하고자 한다면, String() 이나 .toString() 을 이용하여 출력하면 아래처럼 뒤의 n 이 제거된 값을 얻을 수 있다.


+

  • numberbigint 는 서로 다른 자료형이므로, 서로 연산 될 수 없다.
  • 즉, numbernumberbigintbigint 와 연산해야한다.

0개의 댓글