在阅读使用 electron 制作软件的文档时,我在 index.js
文件(通常执行开始的文件)的开头遇到了这种类型的代码
const {app, BrowserWindow} = require('electron')
{app, BrowserWindow}
(语法,不是关键字)到底是什么意思?它是 JavaScript 语法,还是 node.js 的东西,还是与 Electron 完全相关的东西?
最佳答案
这种语法称为“对象解构”,它是最新版本的 JavaScript(JavaScript2015 又名 ECMAScript 6/ES6)的一个特性 - app
和 BrowserWindow
是只是您希望在应用程序的这一部分中使用的 electron
的特定部分。
这是一种简化代码并轻松引用依赖项关键部分的方法。
这是来自 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment 的一个非常基本的示例
var o = {p: 42, q: true};
var {p, q} = o;
console.log(p); // 42
console.log(q); // true
所以在你的例子中,electron
是一个导入的模块,看起来像(再次,这里是一个粗略的过度简化):
var electron = {
app: {
greet: () => {
console.log("Hello, world!")
}
},
BrowserWindow: {/* some other stuff */},
anotherMethod: {/* other stuff, which we will ignore in your app */}
}
module.exports electron
然后在您的应用中,导入此模块,您可以直接引用导入的属性:
const {app, BrowserWindow} = require('electron')
app.greet()
// "Hello, world!"
同样,您可以引用 BrowserWindow
...但是,您不能在不将其包含在解构赋值中的情况下引用 anotherMethod
。
希望对您有所帮助。
关于javascript - {app, BrowserWindow} 在 JavaScript (node.js) 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44732946/