なぜ2.toStering()が間違って投げられましたか?

737 ワード

JavaScriptでは、Numberタイプには多くの方法があります.tostring()、toFixed()などを含みます.通常呼び出し時にはまず変数を定義します.例えば、
var num = 2;
num.toString();  // "2"
しかし、直接に2.toString()を使うと、「Unicagt SyntxError:Invalid or unexpected token」という異常が出ます.以前は数字の字面の量では呼び出せないと思っていましたが、深く追求していませんでした.今日は他の人のブログで2.toStringと書いて正常に運行して正しい結果を出すことができます.これは小数点としても理解できますし、方法に対する呼出としても理解できます.問題はここにあります.私たちは後の理解を望んでいます.実際には、この点は1つの数字に続いていますので、規格に従って、解釈器はそれを小数点と判断します.また、投げられた異常情報を見てもいいです.「識別子は1つの数字の字面の後に付いています.」したがって、もう一つの点をつければいいです.2.. toString()は、第一の点は数字の一部で、2.整数値2として自動的に解釈されます.第二の点は呼び出し方法です.
次のいくつかの書き方も可能です.
(2).toString();
2 .toString();  //    
2.0.toString();
異常を出すのは数字が整数の場合に限られています.数字自体は小数点以下を含んでいます.例えば2.6.toString()は完全に正常です.