如何在 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作為輸出。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP