12
11

More than 5 years have passed since last update.

Electronのes6対応

Posted at

Electronで内部的に使われているnodeのバージョンはv5系です。
process.versionsを確認すると内部で使われているnodechromeのバージョンが確認できます。

console.log(process.versions);
// => { http_parser: '2.6.2',
//   node: '5.10.0',
//   v8: '4.9.385.28',
//   uv: '1.8.0',
//   zlib: '1.2.8',
//   ares: '1.10.1-DEV',
//   modules: '47',
//   openssl: '1.0.2g',
//   electron: '0.37.8',
//   'atom-shell': '0.37.8',
//   chrome: '49.0.2623.75
// }

node 5.10.0は本来ならば、デストラクチャリングに対応していません。
しかしながら、Electron v0.37からは、デストラクチャリングが使えるので以下のように書くことができます。

before
const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
after
const {app, BrowserWindow} = require('electron');

Electronのメインプロセスでは、内部のnodeのバージョンでes6対応が決まると勘違いしていましたが、どうやら違うようです。
問題はv8のバージョンっぽいですね。

What’s new in Electron 0.37 - Atom Blog

上記のリンクによると現在ElectronのES2015対応は91%です。

個人的にはデストラクチャリングが使えればわりと満足なので、async/awaitを使う必要がなければ、バベる必要もないと思います。

12
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11