JavaScript (node.js) 中的 {app, BrowserWindow} 是什么意思

时间:2023-03-06
本文介绍了JavaScript (node.js) 中的 {app, BrowserWindow} 是什么意思?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在阅读使用 electron 制作软件的文档时,我在 index.js 文件(一般执行开始的文件)

While reading docs of making softwares with electron, I came across this type of code in the beginning of index.js file (the file where generally execution starts)

const {app, BrowserWindow} = require('electron')

{app, BrowserWindow}(语法,而不是关键字)的真正含义是什么?它是 JavaScript 语法,还是 node.js 的东西,还是与电子相关的东西?

What does {app, BrowserWindow} (the syntax, not the keywords) really means? Is it a JavaScript syntax, or a node.js thing or something exclusively related to electron?

推荐答案

这种语法称为对象解构",它是最新版本的 JavaScript(JavaScript2015 aka ECMAScript 6/ES6)的一个特性 - appBrowserWindow 只是您希望在应用程序的这一部分中使用的 electron 的特定部分.

This syntax is called 'object destructuring', and it is a feature of the latest version of JavaScript (JavaScript2015 aka ECMAScript 6/ES6) - app and BrowserWindow are just particular parts of electron that you want to use in this portion of your application.

这是一种简化代码并轻松引用依赖项关键部分的方法.

It's a way to simplify your code and to easily reference critical parts of a dependency.

这是 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 是一个导入的模块,看起来像(同样,这里过于简单化了):

So in your case, electron is an imported module that would look something like (again, a gross oversimplification here):

var electron = {
    app: {
        greet: () => {
            console.log("Hello, world!")
        }
    },
    BrowserWindow: {/* some other stuff *