mmyoji's diary

プログラミングとか日々のどうでもいいこととか

ES6 pattern match

ES6ネタが続きます笑

Elixirのパターンマッチ的なのがES6でも使えるようになって、記述量減ってよいなーと思ってるので紹介。

let obj = { foo: "foo", bar: "bar" }

// 最初こう書かないといけないと思ってた
// ちょっと冗長
let { foo: foo, bar: bar } = obj
console.log(foo) //=> "foo"
console.log(bar) //=> "bar"

// こう書ける
let { foo, bar } = obj
//=> 同じ結果


function fooBarBuz() {
  let foo = "foo"
  let bar = "bar"
  let buz = "buz"
  return { foo, bar, buz }
}

// 関数の複数返り値をそれぞれbind
let { foo, bar, buz } = fooBarBuz()

変数名がobjectのkey名と一緒ならそのままバインドできるので便利!

使えるところでは積極的に使っていきたいです!