7.6Functions / Rest Syntax

Rest構文を使用する

`arguments`の代わりにRest構文 `...` を使用します。Rest引数は本物の配列であり、どの引数を対象にするかが明確です。

`arguments`オブジェクトは、見た目は配列に似ていますが、`map`や`filter`などの配列メソッドを直接使うことができず、`Array.prototype.slice.call(arguments)`のような冗長な変換が必要でした。Rest構文 `...args` は、引数を本物の配列として受け取れるため、これらのメソッドを直接使え、コードがはるかに簡潔で直感的になります。

❌ Bad
// bad
function concatenateAll() {
  const args = Array.prototype.slice.call(arguments);
  return args.join('');
}
✅ Good
// good
function concatenateAll(...args) {
  return args.join('');
}