prototype , __proto__
1651 ワード
JavaScriptでは、関数もオブジェクトなので、propertyを持つことができます.
では、関数にコンストラクション関数またはprototype関数を作成するときに何が起こるかを説明します.
まずPersonという名前の関数を作成し、Personという名前のオブジェクトとPerson's Prototypeを2つ作成します.
PersonオブジェクトにはPrototypeが含まれています.これはPersonのPrototypeを指します.
Person's Prototypeも、Personオブジェクトに属していることを示すコンストラクション関数という要素を作成します.
このコンストラクション関数要素はPersonオブジェクトに関連付けられています.
Personならprototype.sum=function(){}を作成すると、Person'sプロトタイプにsum関数が作成されます. では、Personをコンストラクション関数とするオブジェクトを作成します.
金の中にnameという財産が見つかれば、金安の名前が付くので戻ってきます.
しかしkimにないsumという方法を見つけると、リンクのPerson's prototypeにsumがあるかどうかがわかります.
出典:生活コード向けJavaScriptオブジェクトプログラミング
https://www.youtube.com/watch?v=wT1Bl5uV27Y&list=PLuHgQVnccGMAMctarDlPyv6upFUUnpSO3&index=26
では、関数にコンストラクション関数またはprototype関数を作成するときに何が起こるかを説明します.
まずPersonという名前の関数を作成し、Personという名前のオブジェクトとPerson's Prototypeを2つ作成します.
PersonオブジェクトにはPrototypeが含まれています.これはPersonのPrototypeを指します.
このコンストラクション関数要素はPersonオブジェクトに関連付けられています.
kim을 만들면 __proto__가 만들어진다.
즉, Person과 link되었음을 뜻한다.
__proto__는 Person's prototype을 뜻하므로 kim은 Person's prototype와 연결된다.
しかしkimにないsumという方法を見つけると、リンクのPerson's prototypeにsumがあるかどうかがわかります.
出典:生活コード向けJavaScriptオブジェクトプログラミング
https://www.youtube.com/watch?v=wT1Bl5uV27Y&list=PLuHgQVnccGMAMctarDlPyv6upFUUnpSO3&index=26
Reference
この問題について(prototype , __proto__), 我々は、より多くの情報をここで見つけました https://velog.io/@minominou/prototype-protoテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol