こんにちは。きんくまです。
ES6のシンタックス、時々見慣れないものとかがあります。
VuexというReduxのVue版があるのですが、真似してコード書いたらエラー。
そんでサンプルのソースを見ていたら、どうやらBabelのプラグインを入れてるみたい。
>> Object rest spread transform
インストールします
npm install --save-dev babel-plugin-transform-object-rest-spread
.babelrc の plugins の配列に追加します。presetsのところはもともと書いてあったやつだと思ってください。
{ "presets": [ ["env", { "modules": false }], ], "plugins": [ "transform-object-rest-spread", ] }
サンプルコード
これはどんなものかというと、こんな感じに、… の3つのピリオドを続けてうつシンタックスが追加されます。
let obj1 = { a:"name" }; let obj2 = { b:'hello', obj1 }; let obj3 = { b:'hello', ...obj1 }; console.log(obj1); //-> {a: "name"} console.log(obj2); //-> {b: "hello", obj1: Object} console.log(obj3); //-> {b: "hello", a: "name"}
obj2の方は、obj1というキーにobj1そのものが値が入るのに対して、
obj3の方は、obj1の中身のaというキーがそのまま入っています。
これの面白いところは、値がコピーされて入るところです。