对自身进行扩展运算的意义在哪里 let array=[ ]; array = [...array]

最近在看ant-design mobile listView组件的示例代码的时候,发现了这么一种写法
let sectionIDs = [];
let rowIDs = [];
...
...
sectionIDs = [...sectionIDs];
rowIDs = [...rowIDs];
此处有点不解,对自身进行扩展运算的意义在哪里呢?求大神指教

阅读 2.4k
4 个回答

我没看源码,猜测是其他地方引用了sectionIDs变量,为了不影响其他地方,sectionIDs = [...sectionIDs],相当于复制对象(浅copy),我一般这么写: sectionIDs = sectionIDs.slice();

一般是防止引用类型的指向地址一样。。。一般用的时候都是其他的啊。。。。对自己,还是自己啊。。

扩展运算符(...) 是浅拷贝

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题