let t = new Array(3);
let s = [...t].map((item) => {
console.log(item);
return {
visionNo: null,
};
});
console.log(s, "s");
当前这段代码在浏览器中输出为:
但在vue项目中输出为:
相同的代码不同的输出结果,目前没找到原因,后续找到原因后会更新
更新:目前猜测是babel的问题,在es6转换为 es5的时候babel解析出现问题,将解构的顺序放在了empty数组执行map的后面,依据是经实操,发现react项目中也会出现当前的bug,但我这边未证实这个猜测,后续有空会专门debug一下,大家在碰见这种情景的时候尽量使用如下方式吧,尽量避免编译后的错误
let t = [...new Array(3)]; // 替换成这样输出就为正常了
let s = t.map((item) => { // 替换成这样输出就为正常了
console.log(item);
return {
visionNo: null,
};
});
console.log(s,"s");