2016-12-30 13 views
0

mozilla側で次のコードを読んでいます。 _proto_属性にカンマ区切りリストがあります。ES2015では、オブジェクトリテラルが拡張時にプロトタイプの設定をサポートするように拡張されました

最初の場所で何かのような順序の問題はオブジェクトであり、2番目の場所ではハンドラを定義して関数などを使用しますか?

誰かがオブジェクトリテラルに追加された新しく追加された__proto__を説明することができます。

var obj = { 
    // __proto__ 
    __proto__: theProtoObj, 
    // Shorthand for ‘handler: handler’ 
    handler, 
    // Methods 
    toString() { 
    // Super calls 
    return "d " + super.toString(); 
    }, 
    // Computed (dynamic) property names 
    [ 'prop_' + (() => 42)() ]: 42 
}; 
+2

オブジェクトリテラルの '__proto__'は、互換性のために追加されただけであることに注意してください。あなたは使用しないでください。また、ブラウザ外では動作しない可能性があります。しかし、いいえ、注文は関係ありません。 –

答えて

0

objのconstractorのprototypeプロパティに直接__proto__プロパティポイント。ブラウザのコンソールでobj.__proto__ === obj.constructor.prototypeを実行すると、trueが返されます。

__proto__を使用すると、オブジェクトのプロトタイプを設定できます。あなたがオブジェクトを定義するときに書く順序は、definitlyです。

+1

答えの最初の部分は質問とは無関係のようです。 –

関連する問題