オブジェクトリテラル表記を使用して、次のようにゲッターでオブジェクトを定義できることを見てきました。
var foo = {
            get bar() { return 3; }
          }
「enumerable」など、上記の「bar」の他のプロパティ記述子属性を設定できるオブジェクト リテラル構文はありますか?
それとも、' get/set ' が ECMAScript5 オブジェクト リテラル表記でサポートされている唯一のプロパティ記述子属性ですか?
オブジェクトリテラル表記を使用して、次のようにゲッターでオブジェクトを定義できることを見てきました。
var foo = {
            get bar() { return 3; }
          }
「enumerable」など、上記の「bar」の他のプロパティ記述子属性を設定できるオブジェクト リテラル構文はありますか?
それとも、' get/set ' が ECMAScript5 オブジェクト リテラル表記でサポートされている唯一のプロパティ記述子属性ですか?
いい質問だ...でも、私はそれができるとは思わない。
getプロパティ記述子とset同じように機能する演算子として定義されます。
Object.defineProperty(foo, "bar", {value : 3,  
                                   writable : true,  
                                   enumerable : true,  
                                   configurable : true,
                                   get : function(){ return value; },  
                                   set : function(newValue){ value = newValue;}
                                  });  
JavaScript演算子のリストを調べてみると、get と set を除いて、他の記述子に類似したものは見当たりません。
いいえ、使用する必要がありますObject.defineProperty。
これは仕様が言うことです:
オブジェクトリテラル:
{ } { PropertyNameAndValueList } { PropertyNameAndValueList , }PropertyNameAndValueList:
PropertyAssignment PropertyNameAndValueList , PropertyAssignmentプロパティの割り当て:
PropertyName : AssignmentExpression get PropertyName() { FunctionBody } set PropertyName( PropertySetParameterList ) { FunctionBody }
使用したい唯一のものはセッター構文ですが、おそらくそれを知っているでしょう。
一部のブラウザーは__proto__、オブジェクトのプロトタイプを設定できるプロパティをサポートしていますが、指定されておらず、毎日削除される可能性があります。
通常のプロパティ名のように使用します。
var foo = {
    __proto__: bar
};