はじめに
JavaScriptのコードを見ていて、この書き方どういう意味かわからないけど、なんてキーワードで検索していいかわからない...みたいなことがあったので、検索しづらいと思ったイディオムをまとめた。
検索に困った文法
ショートサーキット
a || b
でa
が真であれば、b
の評価がスキップされるという特性があるため、下記の例のような簡略化した値の代入を実施できる。
let fuga; let hoge = fuga || 45; // ショートサーキット。fugaがfalseであれば、45が代入される console.log(hoge); // fugaがundefinedなので45が表示される fuga = 5; hoge = fuga || 45; // ショートサーキット。fugaがfalseであれば、45が代入される console.log(hoge); // fugaに値が代入されていたため、今度は5が表示される
スプレッド構文
スプレッド構文を使うと、1つの配列を複数に展開することができるため、ループを使用せずに、ある配列を他の配列に含めるといった処理が可能になる。
let arr1 = [1, 2, 3]; let arr2 = [4, 5, 6]; arr2.push(...arr1); // スプレッド構文。配列arr1の全要素を配列arr2の末尾に追加する console.log(arr2); // [ 4, 5, 6, 1, 2, 3 ]と出力される