JavaScriptの整数の精度が保たれるのは9007199254740991まで - Qiita
Javascriptの整数の精度が保たれるのは2の64乗ではなく、2の53乗までらしい。 console.log(Number.MAX_SAFE_INTEGER); // 9007199254740991 console.log(Math.pow(2, 53) - 1); ...