Loading lesson path
Concept visual
Start at both ends
Formula
// Prevents re - assignment const car = {type:"Fiat", model:"500", color:"white"};// Prevents adding object properties Object.preventExtensions(object) // Returns true if properties can be added to an object Object.isExtensible(object) // Prevents adding and deleting object properties Object.seal(object) // Returns true if object is sealed Object.isSealed(object) // Prevents any changes to an object Object.freeze(object) // Returns true if object is frozen Object.isFrozen(object)
The most common way to protect an object from being changed is by using the const keyword.
With const you cannot re-assign the object, but you can change the value of a property, delete a property or create a new property.
JavaScript Object.preventExtensions()Object.preventExtensions() method prevents adding properties to an object.
// Create Object const person = {firstName:"John", lastName:"Doe"}; // Prevent Extensions
Object.preventExtensions(person);
// This will throw an error person.nationality = "English";Since arrays are objects, arrays can be prevented from extensions too:
// Create Array const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.preventExtensions(fruits);// This will throw an error:
fruits.push("Kiwi");Object.preventExtensions()
Formula
method will fail silently in non - strict mode and throw a TypeError in strict mode.JavaScript Object.isExtensible()
Object.isExtensible() to check if an object is extensible.
Object.isExtensible() returns true if an object is extensible.
// Create Object const person = {firstName:"John", lastName:"Doe"}; // Prevent Extensions
Object.preventExtensions(person);
// This will return false let answer = Object.isExtensible(person);
// Create Array const fruits = ["Banana", "Orange", "Apple", "Mango"];// Prevent Extensions
Object.preventExtensions(fruits);
// This will return false let answer = Object.isExtensible(fruits);
JavaScript Object.seal()Object.seal() method prevents additions or deletions of new properties.
Object.seal()
Formula
method makes existing properties non - configurable.Object.isSealed() method can be used to check if an object is sealed.
"use strict"
// Create Object const person = {
firstName: "John", lastName: "Doe", age: 50, eyeColor: "blue"
};// Seal Object Object.seal(person)
// This will throw an error delete person.age;Since arrays are objects, arrays can be sealed too:
// Create Array const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.seal(fruits);// This will throw an error:
fruits.push("Kiwi");Object.seal()
Formula
method will fail silently in non - strict mode and throw a TypeError in strict mode.JavaScript Object.isSealed()
Object.isSealed() method can be used to check if an object is sealed.
Object.isSealed() returns true if an object is sealed.
// Create Object const person = {firstName:"John", lastName:"Doe"}; // Seal Object
Object.seal(person);
// This will return true let answer = Object.isSealed(person);
// Create Array const fruits = ["Banana", "Orange", "Apple", "Mango"];// Seal Array
Object.seal(fruits);
// This will return true let answer = Object.isSealed(fruits);
JavaScript Object.freeze()Object.freeze() method prevents any changes to an object.
Formula
Frozen objects are read - only.No modification, addition or deletion of properties are allowed.
"use strict"
// Create Object const person = {
firstName: "John", lastName: "Doe", age: 50, eyeColor: "blue"
};// Freeze Object Object.freeze(person)
// This will throw an error person.age = 51;Since arrays are objects, arrays can be frozen too:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.freeze(fruits);// This will trow an error:
fruits.push("Kiwi");Object.freeze()
Formula
method will fail silently in non - strict mode and throw a TypeError in strict mode.JavaScript Object.isFrozen()
Object.isFrozen() method can be used to check if an object is frozen.
Object.isFrozen() returns true if an object is frozen.