Object and Object Constructors in JavaScript?
オブジェクト指向プログラミングの生きた世界では、クラスとオブジェクトの重要性をすでに知っていますが、他のプログラミング言語と異なり、JavaScriptには他の言語で見られるような従来のクラスがありません。 しかし、JavaScriptにはオブジェクトとコンストラクタがあり、これらはほとんど同じように動作し、同じ種類の操作を実行します。
- コンストラクタは一般的なJavaScriptの関数で、「new」キーワードで使用されます。 コンストラクタは、組み込みコンストラクタ(配列およびオブジェクト)とカスタム コンストラクタ(特定のオブジェクトのプロパティおよびメソッドを定義)の 2 種類があります。
- 毎回オブジェクトを再定義せずに複数回使用できるオブジェクト「タイプ」を作成する方法が必要な場合、コンストラクタは有用で、これはオブジェクト コンストラクタ関数を使って実現できます。
たとえば、次のコードを考えてみましょう。
function Automobile(color) { this.color=color;}var vehicle1 = new Automobile ("red");
関数 “Automobile()” はオブジェクト コンストラクタであり、そのプロパティとメソッド、つまり “color” はキーワード “this” をプレフィックスとしてその内部で宣言されているのです。 オブジェクトコンストラクタで定義されたオブジェクトは、キーワード「new」を使ってインスタントにされます。
new Automobile()が呼ばれたとき、JavaScriptは2つのことを行います。
- 新しいオブジェクト(インスタンス) Automobile() を作成し、変数に代入します。
- オブジェクトのコンストラクタのプロパティ、すなわち “color “をAutomobileに設定します。
Object.create() Method
Object.create() メソードは指定したプロトタイプオブジェクトとプロパティで新しいオブジェクトを作成するために使用されます。 Object.create() メソッドは、指定されたプロトタイプ・オブジェクトとプロパティを持つ新しいオブジェクトを返します。
Applications:
- Object.create() は、継承の実装に使用されます。
構文:
Object.create(prototype)
使用パラメータ:
- プロトタイプ :
新しいオブジェクトが作成される必要があるのは、プロトタイプオブジェクトである。
- propertiesObject :オプションのパラメータです。
Return Value:
Object.create() は指定されたプロトタイプオブジェクトとプロパティを持つ新しいオブジェクトを返す。
Examples of the above function provides below.1890>
Explanation.The Objects of the newly created Objects :
Object.create() は、オブジェクトを生成するために必要なプロパティ(プロパティ)を列挙します。 この例では、2つの関数 “fruits” と “apple” があります。apple の新しいインスタンスが “app” という名前で作成され、プロトタイプと “fruits” のプロパティ、すなわち this.name = ‘fruit 1’ で指定されています。 この例では、「fruits」と「apple」の2つの関数があります。appleの新しいインスタンスが作成され、「app」という名前で、「fruits」のプロトタイプとプロパティ、つまり this.name = ‘fruit 1’ と this .season = ‘summer’ で指定されています。
Code 1:
OUTPUT :
"fruit 1"
Code 2.Code2.Code3.Code4.Code5.Code7…:
<7127><7127><3269><3269><3269><1951><1951>。
OUTPUT :
"fruit 1""summer"
Exceptions :
- Object.NET(オブジェクト・ノード・ネットワーク)。create( ) メソッドは propertiesObject パラメータが null でない場合、例外 TypeError をスローします。
- Object.create( ) メソッドは propertiesObject パラメータが non primitive object である場合、例外 TypeError をスローします。