정수의 '안전 범위'가 약 9천조 정도지만, 32비트 숫자만 가능한 연산이 있어서 실제 범위는 훨씬 작다.
32비트를 고려한 범위는
Math.pow(-2,31) (약 -21억)에
Math.pow(2,31)-1 (약 +21억)까지다.
아래와 같이 비트 연산자로 체크할 수도 있다.
let a = 2100000000;
a | 0; // 2100000000
let b = 2200000000;
b | 0; // -2094967296
이런식으로 쓰면 '숫자 값 -> 32비트 부호 있는 정수'로 강제변환을 한다.
| 비트 연산자는 32비트 정수 값에만 쓸 수 있기 때문에(32비트까지만 관심을 갖기 때문에 그 상위 비트는 소실됨) 이런 방법이 가능하다.