041|JavaScript delete操作符

通过前面的课程中我们已经知道在JavaScript中可以给对象添加属性。既然可以给对象添加属性,那是否能够给对象移除属性呢?

JavaScript中有一个delete操作符,用于从一个对象中移除属性。delete语法如下:

delete object.propertyName

需要注意,delete操作符有返回值。当成功将属性从对象移除时,返回值为ture;当移除属性失败时,返回false。

对象属性可以被设置为不可配置时(non-configurable),delete会失败。后续课程中会详细说明这块内容。

我们通过一下例子来说明一下学习一下delete:

var student={name:"David", age:18} // 第一行,新建对象
console.log(student.age) // 第二行,输出age属性
console.log(delete student.age) // 第三行,移除age属性
console.log(student.age) // 第四行,输出age属性

上述通过输出了删除前与删除后的age属性,让我们看一下运行结果:

运行结果

可以看到,删除前age为18,删除后age为undefined,而delete操作符返回的结果为true。

需要注意,delete只能用于删除对象属性。像var、const定义的变量均无法删除。例如:

var age = 18
console.log(age)
console.log(delete age)
console.log(age)

上述代码中,尝试删除一个var age。我们看一下运行结果:

运行结果

可以看到,delete操作符返回false,age并没有被删除。

什么是JavaScript内存管理?
什么是闭包?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文: https://github.com/ecomfe/spec/blob/master/javascript...
    zock阅读 3,391评论 2 36
  • 关于强力组,我们 上一篇说到了局部充血法,今天来接着说。 复合组复合组也是我们经常听到的词语。那么什么是复合组呢?...
    Demo呆某人阅读 1,151评论 2 5
  • 文/狗乖乖 1 看上老公,基于两点。 一个络腮胡子,挺有男人味。 一个孝顺。他的孝顺是出了名的。而且,他对待孝顺还...
    薛静春阅读 561评论 17 7
  • 解雨臣站在主墓室的石门外,握着银色长棍的手有些微微颤抖。 主墓室内黑瞎子正与一个黑毛怪物缠斗着,那黑毛怪物体型庞大...
    邶彧阅读 1,256评论 0 8
  • 这一天,我们踏上了征途…… 行 上午8点:五峰国酒整装出发,经过差不多4个小时的车程,我们到达了这座位于五峰县采花...
    游子林阅读 164评论 0 0