带花括号的Javascript(ES6)常量

带花括号的Javascript(ES6)常量,javascript,ecmascript-6,constants,Javascript,Ecmascript 6,Constants,我是ECMAScript 6的新手,在尝试学习Ember时,我偶尔会看到以下代码样式: const { abc, def } = Object; 我搜索了谷歌和许多解释新ES6规范的网站。我知道这不是当前的实现,因为我的控制台在输入时会出错 这个代码是什么意思 更新 我将此片段粘贴到中,它返回的结果如下: "use strict"; var abc = Object.abc; var def = Object.def; 我仍然不清楚这是为了实现什么。这是一个ES2015。更具体地说

我是ECMAScript 6的新手,在尝试学习Ember时,我偶尔会看到以下代码样式:

const {
  abc,
  def
} = Object;
我搜索了谷歌和许多解释新ES6规范的网站。我知道这不是当前的实现,因为我的控制台在输入时会出错

这个代码是什么意思

更新

我将此片段粘贴到中,它返回的结果如下:

"use strict";

var abc = Object.abc;
var def = Object.def;
我仍然不清楚这是为了实现什么。

这是一个ES2015。更具体地说,它是

以更详细的方式重写可能会有所帮助

const abc = Object.abc;
const def = Object.def;
这是一种从对象到变量提取属性的语法简洁方法

// you can rewrite this
const name = app.name;
const version = app.version;
const type = app.type;

// as this
const { name, version, type } = app;
浏览器供应商使用的是ES2015规范,这可能就是它在您的浏览器中不起作用的原因


然而,有一个名为的项目允许您将未来的Javascript规范转换回ES5。您可以在中试用ES2015代码

这里有一个例子,当你想玩一些ES6的东西时,这是一个非常好的网站。啊。
const{someKey}=someObj
如何更好地替代
const-someKey=someObj.someKey
@ZachSmith,当你有多个,例如
const{name,version,type}=app时,这是一个很好的替代方案下面接受答案中的示例。@jaywalker-是。我现在经常使用它,我认为你的链接是不正确的,嗯,你可能想在你的答案中添加一个到MDN的链接:对于任何也写PHP的人来说,这是一种等价的构造。