定義:
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操作刪除。