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对象文本访问