JavaScript 中的 const 和 const {} 有什么区别

新手上路,请多包涵

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

 const {BrowserWindow} = require('electron')

const electron = require('electron')
const BrowserWindow = electron.BrowserWindow

JavaScript 中的 constconst {} 有什么区别?

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

原文由 Kevin00000000 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

这两段代码是等价的,但第一段使用 ES6 解构赋值 要更短。

这是一个简单的例子,说明它是如何工作的:

 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);

原文由 VLAZ 发布,翻译遵循 CC BY-SA 3.0 许可协议

const {BrowserWindow} = require('electron')

以上语法使用 ES6。如果您将对象定义为:

 const obj = {
    email: "hello@gmail.com",
    title: "Hello world"
}

现在,如果我们想分配或使用 obj 的电子邮件和标题字段,那么我们不必像这样编写整个语法

const email = obj.email;
const title = obj.title;

现在这是老派了。

我们可以使用 ES6 解构 赋值,即,如果我们的对象在 obj 对象中包含 20 个字段,那么我们只需要写下我们想要使用的那些字段的名称,如下所示:

 const { email,title } = obj;

这是 ES6 语法更简单的一个 它会自动从 obj 分配电子邮件和标题,只需在必填字段中正确填写名称。

原文由 Gaurav Sachdeva 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题