[解決済み] spread 演算子と array.concat() の比較
2023-01-13 23:52:49
質問
とはどのような違いがあるのでしょうか?
spread operator
と
array.concat()
let parts = ['four', 'five'];
let numbers = ['one', 'two', 'three'];
console.log([...numbers, ...parts]);
Array.concat()
機能
let parts = ['four', 'five'];
let numbers = ['one', 'two', 'three'];
console.log(numbers.concat(parts));
どちらの結果も同じです。では、どのようなシナリオでそれらを使用したいのでしょうか?また、どちらがパフォーマンス的に最適なのでしょうか?
どのように解決するのか?
さて
console.log(['one', 'two', 'three', 'four', 'five'])
も同じ結果なので、なぜここでどちらを使うのでしょうか?
一般に、あなたは
concat
を使用します。また、常に配列の一部である追加要素が事前に分かっている場合は、 配列リテラルでスプレッド構文を使用します。ですから、もし配列リテラルに
concat
という配列リテラルがある場合、スプレッドシンタックスで
concat
を使ってください。
[...a, ...b] // bad :-(
a.concat(b) // good :-)
[x, y].concat(a) // bad :-(
[x, y, ...a] // good :-)
また、配列以外の値を扱う場合、2つの選択肢は全く異なる振る舞いをします。
関連
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] JavaScriptに「NULL合体」演算子はありますか?
-
[解決済み] 「is" 演算子が整数に対して予期せぬ振る舞いをする。
-
[解決済み】C/C++の"-->"演算子とは何ですか?
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
-
[解決済み] AngularJSのエラーです。Cross Origin リクエストはプロトコルスキーム http, data, chrome-extension, https に対してのみサポートされています。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] なぜJavaScriptでは!{}[true]がtrueに評価されるのですか?
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] アサインの左側にJavascriptのオブジェクトブラケット表記({ ナビゲーション } =)があります。
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] React js 親コンポーネントから子コンポーネントの状態を変更する
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] 各オブジェクトに?重複
-
[解決済み] Prototypeを使ってtextareaを自動サイズ調整するには?
-
[解決済み] <ng-content>が空かどうかを確認する方法は?(これまでのAngular 2+で)
-
[解決済み] javascriptのキャンバスで画像をリサイズする (スムーズ)