【JavaScript ECMAScript】RangeError: x can't be converted to BigInt because it isn't an integerエラーの使い方
RangeError: x can't be converted to BigInt because it isn't an integerエラーの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
RangeError: x can't be converted to BigInt because it isn't an integerクラスは、JavaScriptにおいて、非常に大きな整数を扱うためのBigInt型へ値を変換しようとした際に、その値が整数ではない場合に発生するエラーを表すクラスです。
JavaScriptでは、標準のNumber型で表現できる範囲を超える大きな整数を正確に扱うためにBigInt型が提供されています。BigInt型の値は、小数点以下の部分を持たない、厳密な整数である必要があります。
このエラーは、主にBigInt()コンストラクタに関数や変数、リテラルを渡してBigInt型への変換を試みたとき、渡された値が浮動小数点数(例: 3.14)、無限大(Infinity)、非数(NaN)など、整数ではない場合に発生します。例えば、BigInt(1.5)やBigInt(NaN)を実行しようとすると、このエラーがスローされます。
このエラーが発生した場合は、BigInt型に変換しようとしている値が本当に整数であるかを確認することが重要です。もし浮動小数点数など、整数ではない値である場合は、Math.floor()、Math.ceil()、Math.trunc()といった関数や、parseInt()関数などを用いて、事前に整数部分のみを抽出し、BigIntの変換要件を満たすように値を準備する必要があります。これにより、プログラムの誤動作を防ぎ、BigIntの厳格な型ルールに従った安全なコード記述が可能になります。
構文(syntax)
1BigInt(10.5);
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません