如題,例如有這麼兩個例子(大家可以自行想像其它例子):
// 替换的例子
let a = {'a': 123, 'b': 234, 'c': 345}
let tmp = {'a': 'qwe'}
a = {...a, tmp}
// 删除再添加的例子
let a = {'a': 123, 'b': 234, 'c': 345}
let tmp = {'a': 'qwe'}
delete a.a
a = {...a, tmp}
請問誰的效率要高?
为情所困2017-06-12 09:30:17
delete 慢也就不說了,關鍵是它還不會直接釋放記憶體(MDN 文件一開始就提到了這點)。所以你的狀況直接替換,不用想太多。
那麼 delete 有啥用呢?
目前我能想到的,就是在繼承的情況下可用。例如某個物件的原型鏈上有屬性a,它自己也定義了屬性a,然後因為某些原因不再需要它自己的屬性a,只需要使用原型鏈上的…那就把自己這個屬性刪掉。但即使這應用,也是很難碰到實際應用場景的。