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属性,让我们看一下运行结果:

041|JavaScript delete操作符_第1张图片
运行结果

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

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

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

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

041|JavaScript delete操作符_第2张图片
运行结果

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

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

你可能感兴趣的:(041|JavaScript delete操作符)