プロトタイプ
1292 ワード
📚 プロトタイプ継承
既存の機能をインポートおよび拡張する必要がある場合は、プロトタイプ継承を使用します.
💡 [[Prototype]]
オブジェクトには[Prototype]という非表示のプロパティがあります.
📌 prototype
「Prototype」propertyの値はnullまたは他のオブジェクトへの参照であり、他のオブジェクトを参照する場合、参照するオブジェクトは「プロトタイプ」と呼ばれます.
📌 prototype inheritance
objectからpropertyを読み込もうとしたが、それがない場合、JavaScriptは自動的にpropertyタイプでpropertyを検索します.この動作を「プロトタイプ継承」と呼ぶ.
💡 __proto__
let animal = {
eats: true
};
let rabbit = {
jumps: true
};
rabbit.__proto__ = animal; // animal이 rabbit의 프로토타입이 된다.
alert( rabbit.eats ); // true, 자동으로 animal이라는 객체에서 프로퍼티를 얻는다.
alert( rabbit.jumps ); // true
Protoを使用して、[PRODUCType]Propertyの値を設定します.
let animal = {
eats: true
};
let rabbit = {
jumps: true
};
rabbit.__proto__ = animal; // animal이 rabbit의 프로토타입이 된다.
alert( rabbit.eats ); // true, 자동으로 animal이라는 객체에서 프로퍼티를 얻는다.
alert( rabbit.jumps ); // true
protoは[prototype]のgetterです.設定者です.
プロトタイプから継承されたプロトタイプを継承プロトタイプと呼ぶ.
💡 prototype chaining
プロトタイプふるい分けには以下の制限があります.
循環参照は許可されません.
protoを使用して他のオブジェクトを閉じた形式で参照すると、エラーが発生します.
protoの値はオブジェクトまたはnullのみです.
他の資料型は無視されます.
オブジェクトには[prototype]が1つしかありません.
オブジェクトは2つのオブジェクトを継承できません.
💡 this
💡 for...in
Reference
この問題について(プロトタイプ), 我々は、より多くの情報をここで見つけました https://velog.io/@kongding/프로토타입テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol