2016-07-29 21 views
25

Próbuję zrozumieć różnicę między tymi dwoma wymagającymi instrukcjami poniżej.Nawiasy klamrowe w węźle wymagają instrukcji

W szczególności, jaki jest cel { } s owinięty wokół ipcMain?

const electron = require('electron') 

const {ipcMain} = require('electron') 

Oboje wydają się przypisywać zawartość modułu elektronowego, ale oczywiście działają inaczej.

Czy ktoś może rzucić trochę światła?

Odpowiedz

35

Drugi przykład wykorzystuje destrukturyzację.

Spowoduje to wywołanie konkretnej zmiennej (w tym funkcji), która zostanie wyeksportowana z wymaganego modułu.

Na przykład (functions.js):

module.exports = { 
    func1, 
    func2 
} 

jest wliczony w pliku:

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

Teraz można nazwać je indywidualnie,

func1() 
func2() 

w przeciwieństwie do:

const Functions = require('./functions') 

nazywane są z użyciem notacji dot:

Functions.func1() 
Functions.func2() 

Nadzieja to pomaga.

Możesz przeczytać o destrukturyzacji here, jest to bardzo przydatna część ES6 i może być używana zarówno z tablicami, jak i obiektami.

+1

Świetne wyjaśnienie, dziękuję. – Shaffanhoon

+1

Właśnie chciałem poprosić o podanie linku do dalszego czytania, ale mnie do tego przekonałeś! – Shaffanhoon

+1

Bez problemu, miło mi pomóc. – alexi2

Powiązane problemy