marc tech

株式会社MAISON MARCが運営するブログです。Tech Blogとは名ばかりの、採用・福利厚生の情報や、日々の活動記録(?)からエンジニアのくだらない小話までMAISON MARCに関する情報をお伝えするブログとなっています!興味のある方は是非ご覧になってください。

さくっと学ぶ!! ES2015(ES6)入門 〜Destructuring 編〜

こんにちは。 メゾンマークでフロントエンドを担当している、k-taroです。

第5回目は分割代入(Destructuring)をみていきます!

概要

分割代入とは何かは以下のmozilaの説明が分かりやすいです。

分割代入(Destructuring assignment)構文は、配列かオブジェクトからデータを取り出して別個の変数に代入することを可能にする JavaScript の式です。 引用 分割代入 - JavaScript | MDN

では早速ソースをみてみましょう!

ES6

// 配列
const arr = [1, 2];
const [ a, b ] = arr;
console.log(a); // 1
console.log(b); // 2

// オブジェクト
const obj = {c: 3, d: 4};
const { c, d } = obj;
console.log(c); // 3
console.log(d); // 4

基本的な使い方はこんな感じです!
配列の場合は添え字に合わせて、オブジェクトの場合はkeyに合わせて値を変数にいれることができます。
ReactのサンプルでもpropsをDestructuringをつかって値を受け取ってますね!
特別な機能感はないですが、よりシンプルにかけるようになった!といった感じです。

解説

Default Parameters

分割代入で値を受け取る際に、デフォルト値を指定する方法です。
機能はES5の時と同じですが、よりシンプルに分かりやすくかけるようになりました。

ES6

var {a=1, b=2} = {a: 3};
console.log(a); // 3
console.log(b); // 2

Rest Parameters

引数に可変長の値を受け取ることができます。
値は配列になります。
Rest Parametersは最後に記述しないとエラーになってしまうので注意してください。

ES6

function hoge(a,...arr) {
console.log(a);
console.log(arr);
}
hoge(1,2,3); // 1, [2, 3]

まとめ

・新しい機能感はないけど、短く分かりやすくかけて便利!
・Default ParametersやRest Parametersと組み合わせて書くと更に実用的に!

それではまた!!