Program Tip

노드의 중괄호 (중괄호) require 문

programtip 2020. 10. 24. 11:39
반응형

노드의 중괄호 (중괄호) require 문


아래 두 require 문의 차이점을 이해하려고합니다.

특히, { }s 의 목적은 무엇 ipcMain입니까?

const electron = require('electron')

const {ipcMain} = require('electron')

둘 다 전자 모듈의 내용을 할당하는 것처럼 보이지만 분명히 다르게 기능합니다.

누구든지 빛을 비출 수 있습니까?


두 번째 예에서는 구조 분해를 사용합니다.

이것은 필수 모듈에서 내 보낸 특정 변수 (함수 포함)를 호출합니다.

예를 들어 (functions.js) :

module.exports = {
   func1,
   func2
}

파일에 포함되어 있습니다.

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

이제 개별적으로 호출 할 수 있습니다.

func1()
func2()

반대로 :

const Functions = require('./functions')

점 표기법을 사용하여 호출됩니다.

Functions.func1()
Functions.func2()

도움이 되었기를 바랍니다.

여기서 destructuring에 대해 읽을 수 있습니다. ES6의 매우 유용한 부분이며 객체뿐만 아니라 배열에도 사용할 수 있습니다.


모듈로 사용할 수 있습니다const electron = require('electron')ipcMainelectron.ipcMain

모듈로 사용할 수 있습니다const {ipcMain} = require('electron')ipcMainipcMain

이 구조는 객체 비 구조화라고 하며 파이썬 구조와 동일합니다.

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

Destructuring 할당을 사용하여 Javascript 객체의 여러 속성을 가져올 수 있습니다. 예 :

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

존재하지 않는 속성을 사용하면로 설정되고 undefined오류가 발생하지 않습니다.

const {app, BrowserWindow, ipcMain, doesntExist} = require('electron')
console.log(doesntExist) // undefined

참조 : 명령문 에서 중괄호의 기능은 무엇입니까 var { … } = …?

참고 URL : https://stackoverflow.com/questions/38660022/curly-brackets-braces-in-node-require-statement

반응형