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

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

const {BrowserWindow} = require('electron')

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

在 JavaScript 中 和 之间有什么区别?constconst {}

我不明白为什么可以工作。我是否错过了有关JS的重要内容?const {}


答案 1

这两段代码是等效的,但第一段是使用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);

答案 2
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