js 的对象删除属性使用 delete 操作符会有哪些问题?

2018-03-20 22:45:59 +08:00
 ghostgril

我们组长不允许使用 delete 操作符,但是我看有些项目都是使用 delete 操作符,就想了解一下 delete 操作符的使用。

1541 次点击
所在节点    前端开发
3 条回复
VDimos
2018-03-20 22:59:58 +08:00
别在 vue 这些使用了 defineProperty 的框架里使用 delete 就行了,并没有什么大的危害
noe132
2018-03-21 03:58:10 +08:00
一般来说,尽量不要修改已经存在的对象。1 是 v8 内部存在隐藏类,会对对象进行优化,2 是修改已有对象会让逻辑很不清晰。
一般来说,如果要修改一个对象,最好的方式是重新创建一个新的。

另外从强类型语言来看,就不存在 delete 这种操作。到后面接入 flow 或者 typescript,delete 肯定是严禁的
Torpedo
2018-03-25 15:32:10 +08:00
原来引擎没有优化,用 delete 影响性能。
新的 v8 引擎优化了这点。一般 node8 就没什么性能问题了。
但是浏览器端,就不一定了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/439891

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX