在 JavaScript 中,扩展运算符(Spread)和剩余参数(Rest)虽然长得一模一样,都是三个点(),但它们的作用是完全相反的。 记住一句核心口诀:Rest 是“打包”(收集),Spread 是“解包”(展开)。 以下是它们的详细区别和使用场景: --- 一、 剩余参数(Rest Parameters)—— “打包” 作用: 把多个独立的元素,收集(打包)成一个数组或对象。 位置: 通常出现在赋值号的左侧,或者函数的形参(参数定义)中。 1. 用在函数的形参中 它用来代替传统的 对象,将传入的多余参数收集到一个真正的数组中。 ⚠️ 注意:剩余参数必须是函数的最后一个参数。 会报错。 2. 用在解构赋值中(数组/对象) 在提取数组或对象时,把剩下没被提取的属性/元素,收集到一个新数组或新对象里。 --- 二、 扩展运算符(Spread Operator)—— “解包” 作用: 把一个可迭代对象(如数组、字符串)或对象,展开(解包)成一个个独立的元素或属性。 位置: 通常出现在赋值号的右侧,或者函数的实参(函数调用)中。 1. 用在函数调用时(传递实参) 把一个数组拆解成独...