ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript_javascript スキルでオブジェクトを作成するための Object.create() の使用の概要

JavaScript_javascript スキルでオブジェクトを作成するための Object.create() の使用の概要

WBOY
WBOYオリジナル
2016-05-16 16:23:071443ブラウズ

オブジェクトの作成には、ECMAScript 5 標準では、リテラルと new 演算子の使用に加えて、Object.create() も使用できます。 Object.create() 関数は 2 つのオブジェクトをパラメーターとして受け入れます。最初のオブジェクトは必須で、作成されたオブジェクトのプロトタイプを表します。2 番目のオブジェクトはオプションで、作成されたオブジェクトのさまざまなプロパティ (writable 、 enumerable など) を定義するために使用されます。 )。

コードをコピーします コードは次のとおりです:

var o = Object.create({x:1, y:7});
console.log(o);//オブジェクト {x=1, y=7}
console.log(o.__proto__);//オブジェクト {x=1, y=7}

最初の引数として null を指定して Object.create() を呼び出すと、プロトタイプのないオブジェクトが生成されます。このオブジェクトには基本的な Object プロパティがありません (たとえば、toString() メソッドがないため、このオブジェクト シンボルに対する操作を使用します)。例外がスローされます):

コードをコピーします コードは次のとおりです:

var o2 = Object.create(null);
console.log("It is " o2);//型エラー、o2 をプリミティブ型に変換できません

ECMAScript 3 標準のみをサポートするブラウザの場合、Douglas Crockford のメソッドを使用して Object.create() 操作を実行できます。

コードをコピーします コードは次のとおりです:

if (typeof Object.create !== 'function') {
Object.create = function (o) {
関数 F() {}
F.prototype = o;
return new F();
};
}
newObject = Object.create(oldObject);
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。