JavaScriptをやっている絵

[JavaScript] 0から始まらない整数に対してtoString(2)を与えるとエラー「Uncaught SyntaxError Invalid or unexpected token」

[JavaScript] 0から始まらない整数に対してtoString(2)を与えるとエラー「Uncaught SyntaxError: Invalid or unexpected token」

Uncaught SyntaxError: Invalid or unexpected token

000000050.toString(2) を実行すると、結果は文字列 '101000' になります。

これは、10進数の50を2進数表現で表したものです。

一方、1から始まる整数を与えるとエラーになる理由は、
JavaScriptがそのような表現を解釈するときに、
整数ではなく識別子として扱うためです。

たとえば、
1.toString() は構文エラーになりますが、
(1).toString() は正常に動作します。これは、 . 演算子が優先度が高いため、 1. を識別子として扱ってしまうためです。括弧を使うことで、 1 が整数であることを明示的に示して、 toString() メソッドを適用することができます。