『JavaScript:The Good Parts』にツッコミ
『JavaScript:The Good Parts』にツッコミ (Kanasansoft Web Lab.)へのレスも兼ねて。
Good Parts読んでない方は、A Life in Shinjuku.: JavaScript: The Good Partsを見れば大体書いてある。
かんそう
良書だと思うのだけど、初心者には説明不足なのが惜しい。ある程度わかってる人が「あるある/いやそれは…」と相槌を打つ感じで、対象読者が狭い印象。詳しく知りたい人はこちら的な情報があれば文句なしだった。
==と===
==じゃなくて===を使おうって話。無駄な型変換もなくなるから===を使うことには異論はないのだけど、そもそもfalsyな値との比較に危うさを感じ取るべきだし、いろんな型の値が入っている状況は設計を疑うべきだよね。
配列かどうかの判定
JavaScriptのオブジェクト判定tips - Ci.nsIZIGOROu - Mozilla 拡張機能勉強会を使おう。こっちのほうがシンプルで正確。
Good Partsの方法でも実質は問題ないだろうけど、強引に配列を偽装することは可能。
function isArray(a){ return a && typeof a === 'object' && typeof a.length === 'number' && typeof a.splice === 'function' && !(a.propertyIsEnumerable('length')); } var s = new String("a"); s.splice = function(){}; alert(isArray(s));