prototype
7387 ワード
JavaScript辞書の知識
プロトタイプとは
コードによる理解
function Example() {}
// Example.prototype은 Example이라는 프로토타입 객체를 가리킴
// 해당 객체에는 constructor: Example() 속성과 __proto__: Object 속성이 있음
let exA = new Example();
// exA.__proto__는 Example 프로토타입 객체를 가리킨
Example.prototype.funcA = function() { return 'A'; }
exA.funcA(); // 'A'가 리턴됨
exA.funcB = function() { return 'B'; }
let exB = new Example();
exB.funcB(); // funcB는 prototype에 정의된 함수가 아니므로 exB는 접근할 수 없
継承
function FurtherExample() {}
FutherExample.prototype = new Example();
// prototype 속성은 prototype 객체를 가리킨다는 점과
// new 연산자는 새로운 객체를 만든다는 점을 상기하자
let exC = new FurtherExample();
exC.funcA(); // 'A'가 리턴됨
function AnotherExample() {}
AnotherExample.prototype = Example.prototype;
// new 연산자를 쓰지 않고 이런식으로 연결해버리면
// Example에 메소드를 추가해도
Example.prototype.funcC = function() { return 'C'; }
let exD = new AnotherExample();
exD.funcC(); // AnotherExample의 인스턴스에서도 'C'가 리턴됨
サマリ
参考になるところ
Reference
この問題について(prototype), 我々は、より多くの情報をここで見つけました https://velog.io/@vrisel/prototypeテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol