Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以在javascript(ECMAScript 5)中使用对象文字符号指定其他描述符属性吗?_Javascript_Json - Fatal编程技术网

可以在javascript(ECMAScript 5)中使用对象文字符号指定其他描述符属性吗?

可以在javascript(ECMAScript 5)中使用对象文字符号指定其他描述符属性吗?,javascript,json,Javascript,Json,我已经看到,可以使用对象文字符号来定义具有getter的对象,如下所示: var foo = { get bar() { return 3; } } 是否有一些对象文字语法允许我设置上面“bar”的其他属性描述符属性,例如“enumerable” 或者,“get/set”是ECMAScript 5对象文字符号支持的唯一属性描述符属性吗?您可能还想使用的唯一东西是setter语法,但您可能已经知道了这一点 有些浏览器支持一个\uuuuu proto\u

我已经看到,可以使用对象文字符号来定义具有getter的对象,如下所示:

var foo = {
            get bar() { return 3; }
          }
是否有一些对象文字语法允许我设置上面“bar”的其他属性描述符属性,例如“enumerable”


或者,“get/set”是ECMAScript 5对象文字符号支持的唯一属性描述符属性吗?

您可能还想使用的唯一东西是setter语法,但您可能已经知道了这一点

有些浏览器支持一个
\uuuuu proto\uuuu
属性,允许您设置一个对象原型,但它没有指定,可能每天都会被删除

将其用作常规属性名称:

var foo = {
    __proto__: bar
};

这是个好问题……但我认为这是办不到的

get
set
定义为与以下操作相同的运算符:


查看javascript,除了get和set之外,我没有看到其他描述符有任何类似之处。

不,您必须使用
Object.defineProperty

我是这么说的:

ObjectLiteral:

{ }
{ PropertyNameAndValueList }
{ PropertyNameAndValueList , }
PropertyAssignment
PropertyNameAndValueList , PropertyAssignment
PropertyName : AssignmentExpression
get PropertyName() { FunctionBody }
set PropertyName( PropertySetParameterList ) { FunctionBody }
属性名称和值列表:

{ }
{ PropertyNameAndValueList }
{ PropertyNameAndValueList , }
PropertyAssignment
PropertyNameAndValueList , PropertyAssignment
PropertyName : AssignmentExpression
get PropertyName() { FunctionBody }
set PropertyName( PropertySetParameterList ) { FunctionBody }
属性签名:

{ }
{ PropertyNameAndValueList }
{ PropertyNameAndValueList , }
PropertyAssignment
PropertyNameAndValueList , PropertyAssignment
PropertyName : AssignmentExpression
get PropertyName() { FunctionBody }
set PropertyName( PropertySetParameterList ) { FunctionBody }