定義:
delete 操作符用於刪除對象的某個屬性;如果沒有指向這個屬性的引用,那它最終會被釋放。
語法:
delete expression expression 的計算結果應該是某個屬性的引用,例如:
delete object.property delete object['property']
參數:
object
- 對象的名稱,或計算結果為對象的表達式。
-
property
異常:
在嚴格模式下,如果是屬性是一個自己不可配置的屬性,會拋出TypeError。
- 不可設置的(Non-configurable)屬性不能被移除。這意味着像
Math,Array,Object內置對象的屬性以及使用Object.defineProperty()方法設置為不可設置的屬性不能被刪除。
不可配置屬性:
當一個屬性被設置為不可設置,delete操作將不會有任何效果,並且會返回false。在嚴格模式下會拋出語法錯誤(SyntaxError)。
var, let以及const創建的不可設置的屬性不能被delete操作刪除。
