报错:Spread syntax requires ...iterable[Symbol.iterator] to be a function
代码: console.log("...param",...param)
原因:Vue3对象新增属性后,用展开扩展运算符报错
展开扩展运算符不能够在对象中使用,只能在可遍历的对象中使用(iterables),iterables的实现是依靠【symbol.iterator】函数,目前es6只有Array,Set,String内置了【symbol.iterator】方法。
- 在 vue3中,如果你使用 reactive 定义数组,必须只使用那些不会改变引用地址的操作,不要对通过 reactive 定义的对象进行解构,解构后得到的变量会失去响应性。
①Iterator是一个遍历器(迭代器),是一个统一的遍历方式。Iterator寻找是找不到,该方法在对象原型链上可以找到,Symbol.iterator();调用该方法可以得到一个对象,该对象被称为可遍历对象(可迭代对象),所以Symbol.iterator()是可迭代对象的生成方法。