2012-12-19 9 views
11

このフィドルを見ればそうhttp://jsfiddle.net/r0k3t/z8f2N/1/あなたは本当のことなぜObject.prototype ===をmyNewObj.prototypeに変換しないのですか?

var me = { fName: "ken", lName: "n" }; 

console.log(Object.prototype === Object.getPrototypeOf(me)); 

リターンを見ることができます。私は十分に確認してくださいオブジェクトリテラルとして「私」のオブジェクトを作成したことを考えるとない

console.log(Object.prototype === me.prototype); 

んなぜそれがプロトタイプのObject.prototypeであるべきだと、最初の行はそれを確認するように思われます。

答えて

18
Object.prototype === me.constructor.prototype; // true 

私は、あなたが今推測してみましょうか。また

、非標準、まだしかし、ほとんど-どこでも作品溶液(感謝jAndy):-) getPrototypeOf作品:

Object.prototype === me.__proto__; // true 
+5

+ 1 - あなたの答えに素晴らしいものがあります: 'console.log(Object.prototype === me .__ proto __);' *(ES6 * – jAndy

+0

で標準化されるでしょう!Oh Darnit!私が最初にすべてを吸収して、それをすべて覚えておきたいのですが。 – Kenn

+0

しかし、ハングオン - なぜYehuda Katzは彼のブログ(http://yehudakatz.com/2011/08/12/understanding-prototypes-in-javascript/)セクションの "オブジェクトリテラル" - "オブジェクトリテラルは、常に新しく作成されたオブジェクトのプロトタイプをObjectにあるオブジェクトに設定します.prototype "と入力し、画像を見ます。あなたは私を混乱させて責められますか? yeesh! – Kenn

関連する問題