iimon TECH BLOG

iimonエンジニアが得られた経験や知識を共有して世の中をイイモンにしていくためのブログです

JSでtoString()がSyntaxErrorになる件について

恥ずかしながら数値型の時にtoString()でエラーになる時があることを把握してませんでした。

株式会社iimon 山根大生です!

その内容についてまとめます。

目次

  1. toString()とは
  2. 1.toString()がSyntaxErrorになる原因
  3. 回避策

1.toString()とは

 オブジェクトの文字列を返す、すべてのオブジェクトが持つメソッド。

 プリミティブ型(プロパティを持たない)である数値型や文字列型がこのメソッドを呼び出せるのはオートボクシングによるものです。

 Number と BigInt の toString()は、オプションの引数 radixで基数の値を取ります。

 最小値は 2 で最大値は 36 です。

 let baseTenInt = 10;
console.log(baseTenInt.toString(2));
// 期待される結果は "1010"

2.1.toString()がSyntaxErrorになる原因

以下コンソールで実行してください。

1.1.toString();
1.toString();
1..toString();

1.toString();がSyntaxErrorになる原因

.toStringの.が小数点と解釈されるため。

3.回避策

明示的にオブジェクトに解釈可能な形式で書く

例)

(1).toString();
(1+0).toString();

参考資料)

  https://takuya-1st.hatenablog.jp/entry/2014/05/16/152727

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/toString