노드의 중괄호 (중괄호) 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')
ipcMain
electron.ipcMain
로 모듈로 사용할 수 있습니다const {ipcMain} = require('electron')
ipcMain
ipcMain
이 구조는 객체 비 구조화라고 하며 파이썬 구조와 동일합니다.
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
'Program Tip' 카테고리의 다른 글
Java 용 최고의 Redis 라이브러리 (0) | 2020.10.24 |
---|---|
Return 문을 사용한 이상한 Try-Except-Else-Finally 동작 (0) | 2020.10.24 |
ASP.NET MVC에서 권한이없는 컨트롤러 리디렉션 (0) | 2020.10.24 |
C # : 반환 형식 재정의 (0) | 2020.10.24 |
C #에서 하위 목록을 가져 오는 방법 (0) | 2020.10.24 |