Reflect.preventExtensions()
The static Reflect.preventExtensions() method prevents new properties from ever being added to an object (i.e., prevents future extensions to the object). It is similar to Object.preventExtensions(), but with some differences.
Syntax
Reflect.preventExtensions(target)
Parameters
target-
The target object on which to prevent extensions.
Return value
A Boolean indicating whether or not the target was successfully set to prevent extensions.
Exceptions
A TypeError, if target is not an Object.
Description
The Reflect.preventExtensions() method allows you to prevent new properties from ever being added to an object (i.e., prevents future extensions to the object). It is similar to Object.preventExtensions().
Examples
Using Reflect.preventExtensions()
See also Object.preventExtensions().
// Objects are extensible by default. let empty = {} Reflect.isExtensible(empty) // === true // ...but that can be changed. Reflect.preventExtensions(empty) Reflect.isExtensible(empty) // === false
Difference from Object.preventExtensions()
If the target argument to this method is not an object (a primitive), then it will cause a TypeError. With Object.preventExtensions(), a non-object target will be coerced to an object.
Reflect.preventExtensions(1) // TypeError: 1 is not an object Object.preventExtensions(1) // 1
Specifications
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
preventExtensions |
49 |
12 |
42 |
No |
36 |
10 |
49 |
49 |
42 |
36 |
10 |
5.0 |
See also
- A polyfill of
Reflect.preventExtensionsis available incore-js ReflectObject.isExtensible()
© 2005–2021 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/preventExtensions