スプレット構文とレスト構文がごっちゃになってた

日記

2025/02/04

以下のような例題で混乱してしまった。

const sum = (...args: number[]) => {
  console.log(args);
};

const arr = [1, 2, 3, 4, 5];

sum(...arr);

chatGPTにきいてわかったが、上の関数の引数の「...args」の方がレスト構文で、

下の「...sr」の方がスプレット構文。

正直、スプレット構文の別名がレスト構文だと思っていたので驚いた。

同じ「...」使うもんね、、と考えて自分の鈍感力が高いことを否定しよう。

分割代入とかで使う...はレスト構文の方だったんだね。スプレット構文の別の使い道的なものかと思っていたけど、

そうはっきり区分けしてくれたらわかりやすいというか、やりやすくなったかな。

初学者陥りがちなのか、自分が鈍いだけなのか。。。

以上