簡単な定義では、Object.create(proto[, propertiesObject])は、オブジェクトのプロパティのアブストラクションを定義したり、オブジェクトのプロパティの仕様を定義したりするための手段です。他の言語ではabstract classes
のようになり、&ではなくspecific object
となります。
作成するオブジェクトの小道具にはデフォルト値を指定する必要はありません。 リテラル(4)のみを提供しています。これは明らかに、そのプロパティの仕様を記述できるオブジェクトではありません。私たちはここで、4つは単独では(必ずしも必要ではない)脚のためのオブジェクトの一部であることを見ています。
今すぐ。これを念頭に置いてObject.create()
を使用してdog
オブジェクトを作成してみてください。ここに私達は行く:
- 要件:私達は私達の犬が
legs
という名前のプロパティを持っていると思いますが。
- デザイン:オブジェクトを列挙している間に列挙できるようにするには、
legs
が必要です。代入演算子で他の人にそれを変更させたくありません。 &また、我々は4
- 実装をデフォルトにしたい:今、私たちは
legs
財産の仕様に決めたことを、私たちはそれを定義するProperty Descriptorが必要 [Object.defineProperties(obj, props)
の2番目のパラメータ]
上記props
Object.create(proto[, propertiesObject])
は、第&における{&}オプションパラメータは、オブジェクトの特性を説明するためのいくつかのキーを有している。
props {configurable, enumerable, value, writable, get, set}
コードをdog
オブジェクトでき:上記のリンクの参照の両方を読み取る、より明確にするため
let dog=Object.create(mammal,{
legs:{
enumerable : true,
writable : false,
value : 4 }
});
を、非常に有用です。