Подтвердить что ты не робот

Кудрявые скобки в node требуют выражения

Я пытаюсь понять, в чем разница между двумя требованиями ниже.

Какова функция {}, обернутая вокруг ipcMain?

const electron = require('electron')

const {ipcMain} = require('electron')

Кажется, что они назначают содержимое электронного модуля, но они функционируют по-разному.

Может ли кто-нибудь пролить свет?

4b9b3361

Ответ 1

Второй пример использует деструктурирование.

Это вызовет определенную переменную (включая функции), которая экспортируется из требуемого модуля.

Например (functions.js):

module.exports = {
   func1,
   func2
}

включен в ваш файл:

const { func1, func2 } = require('./functions')

Теперь вы можете называть их индивидуально,

func1()
func2()

в отличие от:

const Functions = require('./functions')

вызывается с использованием точечной нотации:

Functions.func1()
Functions.func2()

Надеюсь, что это поможет.

Вы можете прочитать о деструкции здесь, это очень полезная часть ES6 и может использоваться как с массивами, так и с объектами.