[JavaScript] 0から始まらない整数に対してtoString(2)を与えるとエラー「Uncaught SyntaxError: Invalid or unexpected token」
000000050.toString(2)
を実行すると、結果は文字列 '101000'
になります。
これは、10進数の50を2進数表現で表したものです。
一方、1から始まる整数を与えるとエラーになる理由は、
JavaScriptがそのような表現を解釈するときに、
整数ではなく識別子として扱うためです。
たとえば、
1.toString()
は構文エラーになりますが、
(1).toString()
は正常に動作します。これは、 . 演算子が優先度が高いため、 1. を識別子として扱ってしまうためです。括弧を使うことで、 1 が整数であることを明示的に示して、 toString()
メソッドを適用することができます。