は、Haverbekeは(16ページ)と主張している:。Javascriptの関数オブジェクトまたはタイプですか?彼の<em>雄弁Javascriptを</em>で
「JavaScriptのシステムでは、このデータのほとんどはきちんと値と呼ばれるものに分離され、すべての値は、種類を決定タイプを持っています数値、文字列、ブール値、オブジェクト、関数、未定義の6つの基本型があります。
しかしJavaScriptでクロックフォード:良い部品は言う:
「JavaScriptの単純なタイプは、数値、文字列、(真と偽)ブール値、ヌル、と定義されていない他のすべての値がオブジェクトです。 JavaScriptでは、配列はオブジェクトであり、関数はオブジェクトであり、正規表現はオブジェクトであり、もちろん、配列はオブジェクトであり、メソッドはありません。 、オブジェクトはオブジェクトです。 "今
、少なくともV8の下で、私はこの取得:
> typeof function(){};
'function'
> typeof {};
'object'
をオブジェクトのタイプと機能であれば、私は理解していない機能やオブジェクトは両方のタイプであれば、オブジェクトですか。私は、プリミティブ型と他の種類の型(複合型?)の区別がないと思います。
JS内のすべてがオブジェクトです。正方形が長方形であるというだけのことですが、長方形は正方形ではありません。 –
@Derek:すべてではありません。 JSにはプリミティブ*(非オブジェクト)*があり、その中にはオブジェクト "ラッパー"がありますが、すべてではありません。 –
関数を特別な型のオブジェクトと考えるのが最も簡単です。配列は特別な型のオブジェクトです彼らはオブジェクトの能力を持っていますが、それらを異なるタイプのオブジェクトにする他の能力も持っています。 – jfriend00