お世話になります。
[[prototype]]とprototypeと__proto__の違いを端的にご教授をお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
関数の prototype プロパティがその関数から作ったインスタンスのメソッド設定するところ
関数定義したら最初から prototype プロパティはある
javascript
1function A(){} 2A.prototype.testMethod = function(){console.log(1)} 3 4var a = new A() 5a.testMethod() // 1
__proto__
はインスタンスが作られた関数の prototype への参照
メソッド呼び出しは __proto__
プロパティに入ってるオブジェクトのプロパティを見てる
javascript
1function A(){} 2A.prototype.testMethod = function(){console.log(1)} 3 4var a = new A() 5a.__proto__ === A.prototype // true 6a.testMethod === A.prototype.testMethod // true
__proto__
たどれば継承がわかる
javascript
1var span = document.createElement("span") 2span.__proto__.constructor.name // HTMLSpanElement 3span.__proto__.__proto__.constructor.name // HTMLElement 4span.__proto__.__proto__.__proto__.constructor.name // Element 5span.__proto__.__proto__.__proto__.__proto__.constructor.name // Node 6span.__proto__.__proto__.__proto__.__proto__.__proto__.constructor.name // EventTarget 7span.__proto__.__proto__.__proto__.__proto__.__proto__.__proto__.constructor.name // Object
[[prototype]] は JavaScript のコードじゃなくて説明用に使われる言葉だったはず
投稿2016/08/07 06:36
総合スコア604
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/08/08 06:05