Reflect.deleteProperty()

The static Reflect.deleteProperty() method allows to delete properties. It is like the delete operator as a function.

Syntax

Reflect.deleteProperty(target, propertyKey)

Parameters

target
The target object on which to delete the property.
propertyKey
The name of the property to be deleted.

Return value

A Boolean indicating whether or not the property was successfully deleted.

Exceptions

A TypeError, if target is not an Object.

Description

The Reflect.deleteProperty method allows you to delete a property on an object. It returns a Boolean indicating whether or not the property was successfully deleted. It is almost identical to the non-strict delete operator.

Examples

Using Reflect.deleteProperty()

let obj = { x: 1, y: 2 }
Reflect.deleteProperty(obj, 'x')  // true
obj                               // { y: 2 }

let arr = [1, 2, 3, 4, 5]
Reflect.deleteProperty(arr, '3')  // true
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

Specifications

Specification
ECMAScript (ECMA-262)
The definition of 'Reflect.deleteProperty' in that specification.

Browser compatibility

DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
deletePropertyChrome Full support 49Edge Full support 12Firefox Full support 42IE No support NoOpera Full support 36Safari Full support 10WebView Android Full support 49Chrome Android Full support 49Firefox Android Full support 42Opera Android Full support 36Safari iOS Full support 10Samsung Internet Android Full support 5.0nodejs Full support 6.0.0

Legend

Full support
Full support
No support
No support

See also