Reflect.deleteProperty()
静态方法 Reflect.deleteProperty()
允许用于删除属性。它很像 delete
operator ,但它是一个函数。
语法
Reflect.deleteProperty(target, propertyKey)
参数
target
-
删除属性的目标对象。
propertyKey
-
需要删除的属性的名称。
返回值
Boolean
值表明该属性是否被成功删除。
异常
描述
Reflect.deleteProperty
允许你删除一个对象上的属性。返回一个 Boolean
值表示该属性是否被成功删除。它几乎与非严格的 delete
operator 相同。
示例
使用 Reflect.deleteProperty()
var obj = { x: 1, y: 2 };
Reflect.deleteProperty(obj, "x"); // true
obj; // { y: 2 }
var arr = [1, 2, 3, 4, 5];
Reflect.deleteProperty(arr, "3"); // true
arr; // [1, 2, 3, , 5]
// 如果属性不存在,返回 true
Reflect.deleteProperty({}, "foo"); // true
// 如果属性不可配置,返回 false
Reflect.deleteProperty(Object.freeze({foo: 1}), "foo"); // false
规范
Specification |
---|
ECMAScript Language Specification # sec-reflect.deleteproperty |
浏览器兼容性
BCD tables only load in the browser