tixture55’s diary

主にプログラミング関係の日記です。

node.jsをES6で書いてみる

あまり意識してなかったのですが、インストールしたnode.jsのバージョンがv8.0.0なので、ES6に対応しています。今回はES6での変更点やソースの書き方を整理します。v8.0.0で下記のように動作することを確認しました。

 

letで定義する

'use strict'

if (1) {
  let i = 1;
}

console.log(i); // error. i is not defined

こんな感じで書くと、ちゃんとエラーを吐いてくれます。letで今後は書こうっと。

 

新しい型のSymbol

  •  Symbol()でシンボルを生成できる
  •   同じ引数でSymbolを生成しても、オブジェクトが違えば別物と扱う
'use strict';

let hoge = Symbol('hoge'); //Symbolの生成
console.log(typeof hoge); // symbol

let hoge2 = Symbol('hoge');
console.log(hoge === hoge2); // false

String周りの関数の追加

  • 文字列を繰り返して生成できるrepeat
  • 文字列が部分文字列で始まるか判定できるstartsWithなど
'use strict';

let str = 'starwars';

// repeat
console.log(str.repeat(2)); //starwarsstarwars

// starts
console.log(str.startsWith('st')); // true
console.log(str.startsWith('war')); // false

// ends
console.log(str.endsWith('wars')); // true
console.log(str.endsWith('star')); // false

コールバック関数書く時にアロー演算子が使える 

'use strict';

setInterval(() =>
    console.log('hoge'),
    1000);

 これで1秒おきにhogeと出力されます。

 

ES6で書くデメリット

個人で小規模なコードを書いている分にはいいのですが、ES6にすると、import文が多くなり、vimmerの私にとってはキツイです。ただ、保守性が重視されるReact.jsとかだとやはりES6で書きたいですよね。