【Javascript】new 演算子
new オペレータはコンストラクタを持ったユーザ定義のオブジェクト型または内蔵オブジェクト型のインスタンスを生成します。
ユーザ定義オブジェクト型を作るには、次の2つの手順が必要です:
- functionを記述してオブジェクト型を定義する。
- newを使ってオブジェクトのインスタンスを作る。
コンストラクタとは?
→ newつきで呼ばれた関数の事です。
どんな関数も、
new xxx();
とnewを付けて呼ばれればコンストラクタです。
(逆にnewを付けずに呼べば関数として使える)
newを付けたときの動作は次のとおり。
- Objectをnewする
- thisにobjectをセットする
- xxxを呼ぶ
- 1で作ったオブジェクトを返す
これがコンストラクタとして呼んだ時の振る舞い。
3のときに、this.x = 何々と書いたりするそのthisは1で作った新しいObjectのこと。
さて、これを手作りで行うと。
var a = new Object(); xxx.apply(a);
これだけです。
コメント