我们组长不允许使用 delete 操作符,但是我看有些项目都是使用 delete 操作符,就想了解一下 delete 操作符的使用。
1
VDimos 2018-03-20 22:59:58 +08:00 via Android
别在 vue 这些使用了 defineProperty 的框架里使用 delete 就行了,并没有什么大的危害
|
2
noe132 2018-03-21 03:58:10 +08:00 via Android
一般来说,尽量不要修改已经存在的对象。1 是 v8 内部存在隐藏类,会对对象进行优化,2 是修改已有对象会让逻辑很不清晰。
一般来说,如果要修改一个对象,最好的方式是重新创建一个新的。 另外从强类型语言来看,就不存在 delete 这种操作。到后面接入 flow 或者 typescript,delete 肯定是严禁的 |
3
Torpedo 2018-03-25 15:32:10 +08:00 via Android
原来引擎没有优化,用 delete 影响性能。
新的 v8 引擎优化了这点。一般 node8 就没什么性能问题了。 但是浏览器端,就不一定了 |