それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

1.toString() がSyntaxErrorになるJavaScript。

f:id:takuya_1st:20140516151821j:plain

JavaScriptにおいて、数値(Int:整数)はオブジェクトじゃない?

オブジェクトだけどオブジェクトじゃなさそうな動きをする。「よくある誤解」だそうです。

1.1.toString() //=> "1.1"
1.toString()    //  Syntax Error


typeof  1.1 //=> number
typeof  1 //=> number

typeof 演算子アレゲなのは脇に置いておいて。とりあえず。1.toString() がエラーになることは分かる。これで、1 2 3 4 5 6 7 8 9 ... など整数がオブジェクトじゃないように見えてしまうそうだ

実はコレ「良くある誤解」

はじめてはてな人力検索をしました。良い回答が得られました。回答者の皆様感謝です。

http://q.hatena.ne.jp/1400151043

1.1.toString() //正しい
1.toString() // .toString が小数点と解釈される。

なので、JavaScriptのパーサー的には

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

のような、明示的にオブジェクトに解釈可能な形式で書く必要があるとのこと。

教えてくれた皆様、SkypeやLINEで私の質問につきあってくださった皆様、感謝です。

参考資料

http://q.hatena.ne.jp/1400151043

http://bonsaiden.github.io/JavaScript-Garden/ja/#object