コンストラクタの利用
- 2023/02/28
- 22:17
オブジェクト指向のプログラム言語であるJavaScriptでは、様々な要素をまとめて一つのオブジェクトとして扱うことができます。
さらにJavaScriptでは同じような性質を持つ複数のオブジェクトを扱うのに便利な方法、コンストラクタがあります。
コンストラクタはいわばオブジェクトのモデルであり、関数として用いることができます。この関数をコンストラクタ関数といい、この関数を通していくつものオブジェクトを作ることができます。
またJavaScriptにおけるコンストラクタはオブジェクト指向のプログラム言語におけるオブジェクトの設計図であるクラスに相当するものになります。
コンストラクタを用いることでコードの記述を簡略化したりメモリの消費を抑えることができます。
オブジェクトのモデルとなるコンストラクタ関数の記述方法は次のようになります
function 関数名(引数){
this.プロパティ名 = プロパティ値;
}
コンストラクタ関数のthisはコンストラクタ関数自身のことで、ここでは引数の値を自身のプロパティ値として設定しています。
そしてコンストラクタ関数に引数を引き渡すには次のように記述します
let オブジェクト名 = new 関数名(引数)
new演算子を用いることでコンストラクタ関数に引数を渡してオブジェクト名で指定した名前のオブジェクトができます。
このように生成されたオブジェクトはインスタンスといいます。
コンストラクタ関数は一つで複数の違う名前のオブジェクトから対応したインスタンスを作り出します。
インスタンスのオブジェクトのプロパティ値を参照するには次のように記述します
オブジェクト名.プロパティ名;
これは通常のオブジェクトと同様です。
通常の関数とコンストラクタ関数は実は仕様上の違いはありません。ただし関数の呼び出し方で区別することになります。
関数を呼び出すときにnew演算子を用いるとコンストラクタ関数として、そうでないときは通常の関数として扱います。
またコンストラクト関数は関数式で扱うことはできません。
このスクリプトでは"fruit"というコンストラクタ関数を通して"apple"、"banana"、"orange"である3つのインスタンスオブジェクトを生成して、それぞれのプロパティ値を表示しています。
さらにJavaScriptでは同じような性質を持つ複数のオブジェクトを扱うのに便利な方法、コンストラクタがあります。
コンストラクタはいわばオブジェクトのモデルであり、関数として用いることができます。この関数をコンストラクタ関数といい、この関数を通していくつものオブジェクトを作ることができます。
またJavaScriptにおけるコンストラクタはオブジェクト指向のプログラム言語におけるオブジェクトの設計図であるクラスに相当するものになります。
コンストラクタを用いることでコードの記述を簡略化したりメモリの消費を抑えることができます。
コンストラクタ関数
オブジェクトのモデルとなるコンストラクタ関数の記述方法は次のようになります
function 関数名(引数){
this.プロパティ名 = プロパティ値;
}
コンストラクタ関数のthisはコンストラクタ関数自身のことで、ここでは引数の値を自身のプロパティ値として設定しています。
そしてコンストラクタ関数に引数を引き渡すには次のように記述します
let オブジェクト名 = new 関数名(引数)
new演算子を用いることでコンストラクタ関数に引数を渡してオブジェクト名で指定した名前のオブジェクトができます。
このように生成されたオブジェクトはインスタンスといいます。
コンストラクタ関数は一つで複数の違う名前のオブジェクトから対応したインスタンスを作り出します。
インスタンスのオブジェクトのプロパティ値を参照するには次のように記述します
オブジェクト名.プロパティ名;
これは通常のオブジェクトと同様です。
コンストラクタ関数と通常の関数
通常の関数とコンストラクタ関数は実は仕様上の違いはありません。ただし関数の呼び出し方で区別することになります。
関数を呼び出すときにnew演算子を用いるとコンストラクタ関数として、そうでないときは通常の関数として扱います。
またコンストラクト関数は関数式で扱うことはできません。
このスクリプトでは"fruit"というコンストラクタ関数を通して"apple"、"banana"、"orange"である3つのインスタンスオブジェクトを生成して、それぞれのプロパティ値を表示しています。
スポンサーサイト