質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

2095閲覧

[[prototype]]とprototypeと__proto__について

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2016/08/07 05:27

お世話になります。

[[prototype]]とprototypeと__proto__の違いを端的にご教授をお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答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 のコードじゃなくて説明用に使われる言葉だったはず

もっと詳しく→
http://stackoverflow.com/questions/17174786/what-is-the-significance-of-the-double-brackets-for-the-prototype-property-i

投稿2016/08/07 06:36

lazex

総合スコア604

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/08/08 06:05

ありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問