📜  JavaScript | Reflect.deleteProperty() 方法

📅  最后修改于: 2022-05-13 01:56:28.023000             🧑  作者: Mango

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 及以上