JS中delete的使用场景?

虽然知道delete的用途是可以删除对象属性和数组元素,但是在开发中的使用场景是什么呢?用没有什么地方需要用到delete的?

搜到一种使用delete来做继承的,http://www.jb51.net/article/5...

阅读 4.9k
5 个回答

对于delete,我在实际生产场景中用到最多的可能是一个公用方法内部给不同板块传递数据或是ajax时候,有多余字段可能需要删除吧。

很少用,而且不推荐用,推荐创建新对象,而不是修改原有对象,也就是Immutable对象的概念

继承是语言内置的功能,如何实现取决于设计者的想法,del是不能拿来做继承的,概念错误。
它的功能是就删除一个属性,删除!!!!
你需要删除属性的话,就用它。EZ

只说下delete的用法吧。应用场景这太难回答,根据具体需求,删除对象属性的时候想到有这玩意就Ok.用法如下:delete obj.key
1 对象没有此属性,直接返回true
2 对象有此属性,检查是否可以删除,通俗的说就是configurable的值为false还时true,为true返回true,false返回false.

需要注意的是在全局环境下通过var 声明的不能删除---返回false,反之返回true
Object.defineProperty(window,"x",{
    configurable:false,
    value:10
})
console.log(delete x)//false
y = 10;
console.log(delete y)//true
var m = 10;
console.log(delete m)//false
console.log(delete z)//true

es6 推荐写法

var a = {b:1}

Reflect.deleteProperty(a,"b")

a // {}

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