![](/img/trans.png)
[英]I'm trying to print form inputs data on the console of node.js, but the console is showing empty Curly braces
[英]Curly brackets (braces) in Node.js 'require' statement
我試圖理解下面兩個“要求”語句之間的區別。
具體來說,圍繞ipcMain
的{ }
的目的是什么?
const electron = require('electron')
const {ipcMain} = require('electron')
它們似乎都分配了electron
模塊的內容,但它們的功能顯然不同。
任何人都可以透露一些信息嗎?
第二個例子使用解構。
這將調用從所需模塊導出的特定變量(包括函數)。
例如(functions.js):
module.exports = {
func1,
func2
}
包含在您的文件中:
const { func1, func2 } = require('./functions')
現在你可以單獨調用它們,
func1()
func2()
與:
const Functions = require('./functions')
使用點表示法調用:
Functions.func1()
Functions.func2()
希望這可以幫助。
使用const electron = require('electron')
, ipcMain
模塊將作為electron.ipcMain
可用。
使用const {ipcMain} = require('electron')
ipcMain
模塊將作為ipcMain
可用。
這種構造稱為對象解構,其實現與 Python 構造相同
from library import ...
在其基本形式中,它允許您直接引用對象的屬性:
var o = {prop1: '1', prop2: 2}
var {prop1, prop2} = o
console.log(prop1) // '1' (same as o.prop1)
console.log(prop2) // 2 (same as o.prop2)
查看:
const {ipcMain} = require('electron')
const myElectron = require('electron')
const myipcMain = myElectron.ipcMain
console.log(myipcMain===ipcMain) // true
您可以使用解構賦值來導入 JavaScript 對象的多個屬性,例如:
const { app, BrowserWindow, ipcMain } = require('electron')
如果您使用不存在的屬性,這將被設置為undefined
並且您不會收到錯誤消息。
const {app, BrowserWindow, ipcMain, doesntExist} = require('electron')
console.log(doesntExist) // undefined
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.