当我学习电子时,我发现了两种获取BrowserWindow对象的方法。
const {BrowserWindow} = require('electron')
和
const electron = require('electron')
const BrowserWindow = electron.BrowserWindow
在JavaScript中,const
和const {}
有什么不同?
我不明白为什么const {}
可以工作。我错过了关于JS的任何重要的东西吗?
发布于 2016-12-09 18:46:10
这两段代码是等价的,但第一段代码使用的ES6 destructuring assignment更短。
以下是它的工作原理的快速示例:
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);
发布于 2016-12-09 18:48:46
这是ES6中的新特性之一。大括号表示法是所谓的destructuring assignment
的一部分。这意味着,您不再需要获取对象本身,并在单独的行上为所需的每个属性分配变量。你可以这样做:
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中检查整个语法
https://stackoverflow.com/questions/41058569
复制相似问题