abeshi blog
カテゴリーで検索

分割代入を理解する

2022年1月15日



モダンJavaScriptでよく出てくる分割代入についておさらいしていきます。
スプレット構文もよく使う文法なので合わせて確認しておきましょう!!

分割代入とは



分割代入とは、配列から値を取り出して、あるいはオブジェクトからプロパティを取り出して別個の変数に代入することができるJavaScriptの式です。
基本動作は下記です。

mdnより引用

let a, b, rest;
[a, b] = [10, 20];


console.log(a);
// expected output: 10

console.log(b);
// expected output: 20

[a, b, ...rest] = [10, 20, 30, 40, 50];

console.log(rest);
// expected output: Array [30,40,50]




こんなこともできます。

const a: number[] = [1,2,3,4,5];

const [ b, c ] = a; // 分割代入

console.log(b); // 1
console.log(c); // 2




オブジェクトの分割代入



mdnより引用

const user = {
    id: 42,
    isVerified: true
};

const {id, isVerified} = user; // 分割代入

console.log(id); // 42
console.log(isVerified); // true




これはReactのPropsを渡す際などにもよく使われます。


// Button.tsx
type Props = {
  color: "SKY_BLUE" | "WHITE";
  size: "SMALL" | "BIG";
  path: string | UrlObject;
  children: ReactNode;
  onClick?: () => void;
}

export const Button: VFC<Props> = memo((props) => {
  const { color, path, children, size, style, onClick } = props; // 分割代入

  return (
    null;
  );
});




お疲れさまでした!