const {}とvarの違いとは・・・

More than 1 year has passed since last update.


開発環境


  • node.js

  • Electron1.6.7

最近、node.jsを勉強しているのですが、こういった技術はすぐ仕様が変わるものでして、現在参考にしている参考書と既に仕様が違うところがちょいちょい出てきます。その中でも特にまいったのはElectronのIPCに関する箇所です。

どちらもWebView側に記述

参考書に載っていたのはこういった書き方。


1

var ipc = require('ipc')

console.log(ipc('sync', 'ping'));


現在(1.6.7)はこれでないと動きません。


2

const {ipcRenderer} = require('electron')

console.log(ipcRenderer('sync', 'ping'));


1は変数にセットしていますが、2は分割代入でelectronのオブジェクトの一つを呼び出しています。それを知らないとピンと来ない事になります。

(swiftではタプル、rubyでは多重代入という名前で実装されてたのに気づかなかった・・・)

javascriptで波括弧を使ってconst値に分割代入

分割代入

JavaScript の分割代入まとめ

ちなみにipcRendererとは何者なのかというとEventEmitterというnodeでのaddEventListenerを表現するものらしいです。

ipcRenderer

Node書くならEventEmitterについて知っとくべし