JavaScript | Reflect.deleteProperty() 方法
JavaScript 中的Reflect.deleteProperty() 方法用于删除对象的属性。它返回一个布尔值,指示该属性是否已成功删除。
句法:
Reflect.deleteProperty( target, propertyKey )
参数:此方法接受前面提到的两个参数,如下所述:
- target:该参数删除属性,为目标对象。
- propertyKey:该参数是要删除的属性的名称。
返回值:此方法返回一个布尔值,指示该属性是否已成功删除。
异常:当目标不是构造函数时,TypeError 是作为结果给出的异常。
示例 1:
javascript
const object1 = {
property1: 76
};
Reflect.deleteProperty(object1, 'property1');
console.log(object1.property1);
const array1 = [1, 2, 3, 4, 5];
Reflect.deleteProperty(array1, '12');
console.log(array1);
Reflect.deleteProperty(array1, '1');
console.log(array1);
Reflect.deleteProperty(array1, '2');
console.log(array1);
javascript
// Returns true if no such property exists
document.writeln( Reflect.deleteProperty({}, 'geeks'))
// Returns false if a property is unconfigurable
document.writeln( Reflect.deleteProperty(
Object.freeze({geeks: 1}), 'geeks'))
const obj = {val1: 22, val2:434, val3:42};
const obj1 = {val:5};
document.writeln( Reflect.deleteProperty ( obj, "val1" ) );
document.writeln( Reflect.deleteProperty ( obj, "val2" ) );
输出:
undefined
Array [1, 2, 3, 4, 5]
Array [1, undefined, 3, 4, 5]
Array [1, undefined, undefined, 4, 5]
示例 2:
javascript
// Returns true if no such property exists
document.writeln( Reflect.deleteProperty({}, 'geeks'))
// Returns false if a property is unconfigurable
document.writeln( Reflect.deleteProperty(
Object.freeze({geeks: 1}), 'geeks'))
const obj = {val1: 22, val2:434, val3:42};
const obj1 = {val:5};
document.writeln( Reflect.deleteProperty ( obj, "val1" ) );
document.writeln( Reflect.deleteProperty ( obj, "val2" ) );
输出:
true false true true
支持的浏览器: Reflect.deleteProperty() 方法支持的浏览器如下:
- 谷歌浏览器 49 及更高版本
- 边缘 12 及以上
- 火狐 42 及以上
- Opera 36 及以上
- Safar 10 及以上