BigInt.prototype.toString()

この記事は翻訳作業中です。

toString()メソッドは、指定した BigInt オブジェクトを表す文字列を返します。末尾の "n" は返り値の文字列の一部にはなりません。

構文

bigIntObj.toString([radix])

パラメーター

radixOptional
オプション。数値を表す底に指定する 2 以上 36 以下の整数(基数)。

戻り値

指定した BigInt オブジェクトを表す文字列。

例外

RangeError
toString() が 2 未満または 36 より大きな基数を与えられた場合、RangeError がスローされます。

説明

BigInt オブジェクトは ObjecttoString() メソッドをオーバーライドします。つまり、Object.prototype.toString() を継承しません。BigInt オブジェクトでは、toString() メソッドは指定された基数によるオブジェクトの文字列表現を返します。

toString() メソッドは 1 番目の引数を解析し、指定された基数(底)による文字列表現を返そうとします。10 より大きな基数が指定された場合は、アルファベットが 9 より大きな数値を示します。例えば、16 進数(底が 16)では a から f が使用されます。

radix が指定されなかった場合は、基数として 10 が指定されたとみなします。

bigIntObj が負の数だった場合、符号は保持されます。これは、基数が 2 だった場合にも適用されます。つまり、返り値の文字列は、bigIntObj の正の 2 進数表現の先頭に - 符号が付いたものであり、bigIntObj の 2 の補数ではありません。

toStringの使用

17n.toString();      // '17'
66n.toString(2);     // '1000010'
254n.toString(16);   // 'fe'
-10n.toString(2);    // -1010'
-0xffn.toString(2);  // '-11111111'

BigInt における負の 0

整数に負の 0 が存在しないのと同様に、BigInt には負の 0 がありません。-0.0 は JavaScript の Number 型にのみ現れる、IEEE 浮動小数点数の概念です。

(-0n).toString();      // '0' 
BigInt(-0).toString(); // '0'

仕様

仕様書
ECMAScript (ECMA-262)
BigInt.prototype.toString() の定義

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
toStringChrome 完全対応 67Edge 完全対応 79Firefox 完全対応 68IE 未対応 なしOpera 完全対応 54Safari 完全対応 14WebView Android 完全対応 67Chrome Android 完全対応 67Firefox Android 完全対応 68Opera Android 完全対応 48Safari iOS 完全対応 14Samsung Internet Android 完全対応 9.0nodejs 完全対応 10.4.0

凡例

完全対応  
完全対応
未対応  
未対応

関連情報