JavaScript (ES2026) reference · Object Methods
JavaScript Object.freeze() Method
Make an object immutable: no properties can be added, removed or changed. The freeze is shallow.
JavaScript (ES2026) Since ES5
Syntax
Object.freeze(obj)
Parameters
| Parameter | Description |
|---|---|
obj |
The object to inspect or change. |
Return value
The same object, now frozen.
Examples
"use strict";
const ROLES = Object.freeze({ ADMIN: "admin", USER: "user" });
try { ROLES.ADMIN = "root"; } catch (e) { console.log(e.constructor.name); }
console.log(ROLES.ADMIN, Object.isFrozen(ROLES));
Output
TypeError admin true
const cfg = Object.freeze({ db: { host: "localhost" } });
cfg.db.host = "changed"; // nested objects aren't frozen
console.log(cfg.db.host);
Output
changed
Version history
| Version | Change |
|---|---|
| JavaScript ES5 | Added |
Related
Object.isFrozen()· Return true if an object is frozen: no properties can be added, removed or changed.Object.seal()· Prevent adding or removing properties while still allowing existing properties to be changed.Object.defineProperty()· Add or change one property with full control over whether it is writable, enumerable and configurable, or define a getter.- JavaScript Objects · tutorial