如何在 JavaScript 中使用 delete 运算符删除 getter?
在本教程中,我们将学习如何使用JavaScript中的`delete`运算符删除getter函数。Getter函数用于获取对象的属性,并将属性与getter函数绑定,即每当调用属性时,getter函数也会随之调用。在一个对象上,每个名称只能有一个getter或setter,因为我们不能在JavaScript中使用相同的名称创建多个getter。
要在JavaScript中删除getter函数,我们使用`delete`运算符,它使用关键字“delete”。
语法
使用`delete`运算符删除getter函数的语法如下:
delete object_name.property or delete object_name[property]
`delete`运算符也可用于删除对象的普通属性。`delete`运算符在对象中非常有用,因为它不像数组那样可以使用`pop()`、`splice()`、`filter()`或其他方法,它只使用`delete`运算符来删除对象的任何属性。因此,在删除getter函数时,应非常注意不要删除对象的普通属性。此外,在使用此属性删除setter时,需要记住备份getter函数并在删除setter函数后将其恢复。
在访问器属性中,我们使用getter和setter两种方法来获取和设置对象的值,这意味着这两种方法都可以用来定义对象访问器。Getter和setter属性允许我们从对象外部获取和设置对象的属性值,我们也可以在不访问对象的情况下更改值。
让我们来看一个示例,我们将创建一个getter函数,然后使用`delete`运算符将其删除。
步骤
使用JavaScript中的`delete`运算符编写HTML代码删除getter的步骤:
步骤1:创建一个名为person的对象。
步骤2:为对象分配一些键值对,例如first_name、last_name、section和hair_color。
步骤3:现在我们使用getter函数创建另一个属性,在这个属性中,我们通过调用其中的其他键值对来创建一个对象方法。
步骤4:为了在方法中调用其他键值对,我们使用“this”运算符。
步骤5:我们还将使用return语句返回getter属性的值。
步骤6:现在我们打印getter属性的值。
步骤7:现在使用`delete`运算符,使用“delete”关键字删除getter属性。
步骤8:最后,我们再次打印getter属性的值,以检查它是否已删除。
示例
我们可以使用以下代码在JavaScript中使用`delete`运算符删除getter:
<html> <body> <script> var person = { first_name: "Aditya", last_name: "Chaudhary", section: "A", hair_color: "black", get details() { return "Student Details<br>" + this.first_name + " " +this.last_name + " of section " + this.section + " have " + this.hair_color+ " color hairs "; }, } document.write( person.details); delete person.details; document.write("<br>Student details (after deletion): " +person.details); </script> </body> </html>
正如我们在输出中看到的,当我们第一次打印getter属性时,它向我们显示了person的所有详细信息,而在删除它之后,它显示为undefined,这意味着`delete`运算符删除了getter属性的值。
因此,`delete`运算符会删除getter属性的值,但是如果我们想的话,我们也可以在删除它之后重新分配值给getter属性,那么它将作为对象的普通属性工作。它还在第一次访问后用数据属性替换访问器属性,从而创建一个延迟初始化的数据属性。
除了从对象中删除键值对之外,`delete`运算符还会返回true或false值。在大多数情况下,它返回true,除非该属性是不可配置的属性,在这种情况下,它返回false。
注意:如果我们删除对象中不存在的属性,我们也会得到true作为输出。