読者です 読者をやめる 読者になる 読者になる

by shigemk2

当面は技術的なことしか書かない

JavaScriptのオブジェクトコンストラクタ

JavaScript

コンストラクタが内部に組み込まれているという話。

JavaScriptは、少数のネイティブオブジェクトコンストラクタが組み込まれた言語にすぎません。この少数のネイティブコンストラクタが、数値、文字列、関数、オブジェクト、配列などの特化した型を表現するビルトインのオブジェクトを生成し、ユーザ定義オブジェクトコンストラクタ(Person()など)を構築するための材料を提供します。JavaScriptはこのような構造を持つため、オブジェクトの生成パターンに関わらず、一般的に(プリミティブ型ではなく)オブジェクトが生成されます。

ECMAScript におけるオブジェクトは、いわゆるコンストラクタを経由して生成されます。コンストラクタは、新しく生成されるオブジェクトを生成し、初期化する関数です。生成(メモリアロケーション)に関しては、コンストラクタ関数の Constructor 内部メソッドが担当します。

詳細 ECMA-262-3 第7章2節 OOP: ECMAScript での実装 - mixi Engineers' Blog

追記

誤字修正(erson→Person)