2 行目と 3 行目は正常に動作するのに、以下の 1 行目でエラーが発生するのはなぜですか?
1.toString(); // SyntaxError
(1).toString(); // OK
1['toString'](); // OK
2 行目と 3 行目は正常に動作するのに、以下の 1 行目でエラーが発生するのはなぜですか?
1.toString(); // SyntaxError
(1).toString(); // OK
1['toString'](); // OK
.
あいまいさを提示します。それは小数ですか、それともプロパティアクセサーですか?
インタープリターはこれを 10 進数と見なすため、 を使用..
して 10 進数とプロパティ構文の両方を許可できます。
1..toString();
または、あいまいさを解決するために示す他の方法のいずれかを使用します。
パーサーは1.
浮動小数点リテラルの開始として処理しようとしています --toString
無効な数値に変換するだけです。
と比べて:
1.0.toString()