The Reflect.deleteProperty()
static method is like the delete
operator, but as a function. It deletes a property from an object.
The Reflect.deleteProperty()
static method is like the delete
operator, but as a function. It deletes a property from an object.
Reflect.deleteProperty(target, propertyKey)
target
The target object on which to delete the property.
propertyKey
The name of the property to be deleted.
A boolean indicating whether or not the property was successfully deleted.
TypeError
Thrown if target
is not an object.
Reflect.deleteProperty()
provides the reflective semantic of the delete
operator. That is, Reflect.deleteProperty(target, propertyKey)
is semantically equivalent to:
delete target.propertyKey;
At the very low level, deleting a property returns a boolean (as is the case with the proxy handler). Reflect.deleteProperty()
directly returns the status, while delete
would throw a TypeError
in strict mode if the status is false
. In non-strict mode, delete
and Reflect.deleteProperty()
have the same behavior.
Reflect.deleteProperty()
invokes the [[Delete]]
object internal method of target
.
const obj = { x: 1, y: 2 }; Reflect.deleteProperty(obj, "x"); // true console.log(obj); // { y: 2 } const arr = [1, 2, 3, 4, 5]; Reflect.deleteProperty(arr, "3"); // true console.log(arr); // [1, 2, 3, undefined, 5] // Returns true if no such property exists Reflect.deleteProperty({}, "foo"); // true // Returns false if a property is unconfigurable Reflect.deleteProperty(Object.freeze({ foo: 1 }), "foo"); // false
Desktop | Mobile | Server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | Deno | Node.js | ||
deleteProperty |
49 | 12 | 42 | 36 | 10 | 49 | 42 | 36 | 10 | 5.0 | 49 | 1.0 | 6.0.0 |
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/deleteProperty