Javascript

Object.assignではなく、スプレッド構文を使う【JS】

Object.assignでパラメータの複製とか追加を実装していたのですが、
スプレッド構文を使えばもっと短くかけるよね、というTipsです。

スプレッド構文自体の使い方はこんな感じです。

# 配列もしくはオブジェクト
const Hoge = [ 'foo', 'bar' ]

# 別のリストの中で、配列を展開する
[...Hoge, 'hoge']
=> (3) ['foo', 'bar', 'hoge']

結論

今までObject.assignを使用していましたが、スプレッド構文を使う事でこんな風に書けます。

# オブジェクトがあって、プロパティを追加したい時
let params = { foo: 1, bar: 2 }

# 今まではこう書いていた
Object.assign(params, { hoge: 3 })

# スプレッド構文でこのように書ける
{ ...params, hoge: 3 }
=> {foo: 1, bar: 2, hoge: 3}

まとめ

今までObject.assignを使っていましたが、スプレッド構文の方がスマートに書けますし、慣れてくると読解もしやすいです。
ただ、スプレッド構文はshallow copyなので、ネストしているオブジェクトを扱う場合には注意が必要です。

ピックアップ記事

  1. git add -p でファイルの一部をコミットする【Git】
  2. 【WPテーマ自作】ローカル環境でWP開発ができる「Local」の導入
  3. 【Blender】アニメーションでポーズを左右反転してコピペしたい時
  4. 【Rails】selectメソッドで特定の条件を満たす要素を取得する
  5. 【Rails】modelを作成する

関連記事

 
  1. Javascript

    パラメータをobjectでまとめて渡す【Vue】

    フロントエンドをvueで実装しているアプリがあります。…

  2. Javascript

    reverse()は破壊的メソッド【JS】

    配列の逆順ソートには reverse() が使えるが、破壊的…

カレンダー

2026年2月
 1
2345678
9101112131415
16171819202122
232425262728  

最近の記事

  1. Ruby on Rails

    【Rails】modelを作成する
  2. Blender

    【Blender】アニメーションでポーズを左右反転してコピペしたい時
  3. 慣れれば3分!Bumpノードを使用した質感表現の方法

    Blender

    【Blender】Bumpを使用した質感表現の方法
  4. WordPress

    【WPテーマ自作】UnderScoresの導入
  5. Ruby on Rails

    【Rails】railsでIndex name ‘xxx’…
PAGE TOP