Reflect.deleteProperty()

静态方法 Reflect.deleteProperty() 允许用于删除属性。它很像 delete operator ,但它是一个函数。

语法

Reflect.deleteProperty(target, propertyKey)

参数

target
删除属性的目标对象。
propertyKey
需要删除的属性的名称。

返回值

Boolean 值表明该属性是否被成功删除。

异常

抛出一个 Object

描述

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 Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
Reflect.deleteProperty
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
Reflect.deleteProperty
Draft

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 49 42 (42) 未实现 未实现 10
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 未实现 49 42.0 (42) 未实现 未实现 10

相关链接