首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JavaScript中const和const {}的区别是什么

JavaScript中const和const {}的区别是什么
EN

Stack Overflow用户
提问于 2016-12-09 18:43:50
回答 2查看 63.4K关注 0票数 125

当我学习电子时,我发现了两种获取BrowserWindow对象的方法。

代码语言:javascript
复制
const {BrowserWindow} = require('electron')

代码语言:javascript
复制
const electron = require('electron')
const BrowserWindow = electron.BrowserWindow

在JavaScript中,constconst {}有什么不同?

我不明白为什么const {}可以工作。我错过了关于JS的任何重要的东西吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-09 18:46:10

这两段代码是等价的,但第一段代码使用的ES6 destructuring assignment更短。

以下是它的工作原理的快速示例:

代码语言:javascript
复制
const obj = {
  name: "Fred",
  age: 42,
  id: 1
}

//simple destructuring
const { name } = obj;
console.log("name", name);

//assigning multiple variables at one time
const { age, id } = obj;
console.log("age", age);
console.log("id", id);

//using different names for the properties
const { name: personName } = obj;
console.log("personName", personName);

票数 198
EN

Stack Overflow用户

发布于 2016-12-09 18:48:46

这是ES6中的新特性之一。大括号表示法是所谓的destructuring assignment的一部分。这意味着,您不再需要获取对象本身,并在单独的行上为所需的每个属性分配变量。你可以这样做:

代码语言:javascript
复制
const obj = {
  prop1: 1,
  prop2: 2
}

// previously you would need to do something like this:
const firstProp = obj.prop1;
const secondProp = obj.prop2;
console.log(firstProp, secondProp);
// etc.

// however now you can do this on the same line:
const {prop1, prop2} = obj;
console.log(prop1, prop2);

正如您在最后看到的,功能是相同的-只是从对象获取属性。

还有更多关于解构赋值的内容-您可以在MDN:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment中检查整个语法

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41058569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档