JavaScript .preventExtensions()
Published Aug 24, 2025
Contribute to Docs
The Object.preventExtensions() method prevents new properties from being added to an object. Unlike Object.freeze() or Object.seal(), this method still allows existing properties to be modified or deleted. It returns the same object that was passed to it.
Note: Once an object is made non-extensible, it cannot be made extensible again. This operation is irreversible.
Syntax
Object.preventExtensions(obj)
Parameters:
obj: The object to make non-extensible.
Return value:
Returns the same object that was passed in, now marked as non-extensible.
Example: Basic Usage of Object.preventExtensions()
The following code demonstrates how Object.preventExtensions() works:
const user = {name: 'Arthur',age: 42,};// Show object is extensibleconsole.log(Object.isExtensible(user));// Prevent extensionsObject.preventExtensions(user);// Show object is no longer extensible after using Object.preventExtensions()console.log(Object.isExtensible(user));// New properties cannot be addedconsole.log(user.email);// Existing properties can be modifieduser.age = 31;console.log(user.age);// Existing properties can be deleteddelete user.name;console.log(user.name);
The output generated by this code is:
truefalseundefined31undefined
Codebyte Example
This example shows the effect of Object.preventExtensions() in non-strict mode, and notes how strict mode would throw a TypeError:
Contribute to Docs
- Learn more about how to get involved.
- Edit this page on GitHub to fix an error or make an improvement.
- Submit feedback to let us know how we can improve Docs.
Learn JavaScript on Codecademy
- Front-end engineers work closely with designers to make websites beautiful, functional, and fast.
- Includes 34 Courses
- With Professional Certification
- Beginner Friendly.115 hours
- Learn how to use JavaScript — a powerful and flexible programming language for adding website interactivity.
- Beginner Friendly.15 hours