Javascript 在对象属性速记中使用“get”时出现语法错误

Javascript 在对象属性速记中使用“get”时出现语法错误,javascript,v8,ecmascript-6,Javascript,V8,Ecmascript 6,这段代码: function get() { console.log('get') } var obj = { get } obj.get() 结果在iojs和Chrom{ium,e}中出现SyntaxError:Unexpected-token},但在Firefox中效果良好 当然,直拍效果很好: function get() { console.log('get') } var obj = { get: get } obj.get() 使用以外的单词也能获得 fu

这段代码:

function get() {
  console.log('get')
}

var obj = {
  get
}

obj.get()
结果在iojs和Chrom{ium,e}中出现
SyntaxError:Unexpected-token}
,但在Firefox中效果良好

当然,直拍效果很好:

function get() {
  console.log('get')
}

var obj = {
  get: get
}

obj.get()
使用
以外的单词也能获得

function git() {
  console.log('get')
}

var obj = {
  git
}

obj.git()

这是V8中的一个bug还是其他什么?我在这里没有得到什么?

v8在默认情况下没有提供此功能是1;firefox(不使用v8)有

现在,您可以使用进行传输


1它是可用的,但不是在每个运行时环境中都可用。例如,在node.js中,您需要使用一个
--harmony\u something
标志来启用它。

v8在默认情况下没有使其可用;firefox(不使用v8)有

现在,您可以使用进行传输


1它是可用的,但不是在每个运行时环境中都可用。例如,在node.js中,您需要使用一个
--harmony\u something
标志来启用它。

v8在默认情况下没有使其可用;firefox(不使用v8)有

现在,您可以使用进行传输


1它是可用的,但不是在每个运行时环境中都可用。例如,在node.js中,您需要使用一个
--harmony\u something
标志来启用它。

v8在默认情况下没有使其可用;firefox(不使用v8)有

现在,您可以使用进行传输



1它是可用的,但不是在每个运行时环境中都可用。例如,在node.js中,您需要使用
--harmony\u something
标志启用它。

在第一种情况下,您的
obj
不是有效的Java脚本对象。
get
未绑定到
属性
表达式
。直到ES6可以在文本中使用速记对象属性赋值
{x}
,在ES5中,您才需要使用长柄
{x:x}
,您确定第三个示例在Chrome中有效吗?当我查看浏览器对速记属性名称的兼容性时,我发现这(目前)仅在FF中受支持。@sfletche它在Chrome 45.0.2438.3 dev和iojs-v2.0.1到v2.3.4上对我有效。我不确定为什么AmmarCSE删除了他们的答案,但我相信这是正确的:Chrome需要一个getter。在第一种情况下,您的
obj
不是有效的Java脚本对象。
get
未绑定到
属性
表达式
。直到ES6可以在文本中使用速记对象属性赋值
{x}
,在ES5中,您才需要使用长柄
{x:x}
,您确定第三个示例在Chrome中有效吗?当我查看浏览器对速记属性名称的兼容性时,我发现这(目前)仅在FF中受支持。@sfletche它在Chrome 45.0.2438.3 dev和iojs-v2.0.1到v2.3.4上对我有效。我不确定为什么AmmarCSE删除了他们的答案,但我相信这是正确的:Chrome需要一个getter。在第一种情况下,您的
obj
不是有效的Java脚本对象。
get
未绑定到
属性
表达式
。直到ES6可以在文本中使用速记对象属性赋值
{x}
,在ES5中,您才需要使用长柄
{x:x}
,您确定第三个示例在Chrome中有效吗?当我查看浏览器对速记属性名称的兼容性时,我发现这(目前)仅在FF中受支持。@sfletche它在Chrome 45.0.2438.3 dev和iojs-v2.0.1到v2.3.4上对我有效。我不确定为什么AmmarCSE删除了他们的答案,但我相信这是正确的:Chrome需要一个getter。在第一种情况下,您的
obj
不是有效的Java脚本对象。
get
未绑定到
属性
表达式
。直到ES6可以在文本中使用速记对象属性赋值
{x}
,在ES5中,您才需要使用长柄
{x:x}
,您确定第三个示例在Chrome中有效吗?当我查看浏览器对速记属性名称的兼容性时,我发现这(目前)仅在FF中受支持。@sfletche它在Chrome 45.0.2438.3 dev和iojs-v2.0.1到v2.3.4上对我有效。我不确定为什么AmmarCSE删除了他们的答案,但是我相信这是正确的:Chrome需要一个getter。第三个例子在Chrome 45.0.2438.3 dev和iojs-v2.0.1到v2.3.4中对我有效,但它只是
get
这个词不起作用。@dido我认为新的对象文本语法不适用于
get
,因为解析器将其视为保留词(连同
集合
)用于定义getter。但是,这并不能解释为什么您的示例在FF中工作,而在chrome中不工作。@dido get和set用于es5对象文本访问器语法。第三个示例在chrome 45.0.2438.3 dev和iojs-v2.0.1到v2.3.4中工作。不过,只有
get
这个词不工作。@dido我认为新的对象文本yntax不使用
get
,因为解析器将其视为保留字(与
set
)用于定义getter。但是,这并不能解释为什么您的示例在FF中工作,而在chrome中不工作。@dido get和set用于es5对象文本访问器语法。第三个示例在chrome 45.0.2438.3 dev和iojs-v2.0.1到v2.3.4中工作。不过,只有
get
这个词不工作。@dido我认为新的对象文本yntax不使用
get
,因为解析器将其视为保留字(与
set
)用于定义getter。但是,这并不能解释为什么您的示例在FF中工作,而在chrome中不工作。@dido get和set用于es5对象文本访问器语法。第三个示例在chrome 45.0.2438.3 dev和iojs-v2.0.1到v2.3.4中工作。不过,只有
get
这个词不工作。@dido我认为新的对象文本yntax不适用于
get
,因为解析器将其视为用于定义getter的保留字(以及
set
)。但是,这并不能解释为什么您的示例适用于FF而不适用于chrome。@dido get和set用于es5对象文本访问