javascriptでobjectを生成する3つの方法について

javascriptでobjectを生成する3つの方法

方法1: 何かのオブジェクトを直接指定する

const obj = {...}

方法2: Object.create()を利用する

const obj = Object.create(<何かのprototype>)

方法3: new Object()を利用する

const obj = new Object()

3つの方法の違い

方法1は、内部的に方法3を利用するため、ここでは方法2と方法3を比べる。

new Object()とObject.create()の内部比較

new Object() Object.create()
prototype Object()のprototypeを持つ - constructの持たないオブジェクトを生成
- オブジェクトを生成時にprototypeを指定する必要あり
- 引数としてnullを入れることもOK
constructor Object()のconstructorを持つ - 引数として入れたprototypeのconstructorを持つ
- 引数にnullを入れた場合、constructorのないオブジェクトが生成される

つまり、prototypeをカスタムできるかどうかの違い。
なお、方法1は方法3を内部的に利用するため、Object.prototypeを継承さえる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です