Flash cards
Review the key moves
What is the main idea behind JavaScript Object Protection?
Lesson checks
Practice each idea before moving on
Short Mimo-style checks built from this lesson's code, terms, and sequence.
Which statement best captures the main point of this lesson?
Complete the missing token from the example code.
// ___ re-assignmentPut the learning moves in the order that makes the concept easiest to apply.
Object Protection Methods
// 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)Using const
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()
The Object.preventExtensions() method prevents adding properties to an object.
Example
// 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:
Example
// Create Array
const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.preventExtensions(fruits);
// This will throw an error: fruits.push("Kiwi");The Object.preventExtensions() method will fail silently in non-strict mode and throw a TypeError in strict mode.
JavaScript Object.isExtensible()
You can use Object.isExtensible() to check if an object is extensible.
The Object.isExtensible() returns true if an object is extensible.
Examples
// Create Object
const person = {firstName:"John", lastName:"Doe"};
// Prevent Extensions Object.preventExtensions(person); // This will return false
let answer = Object.isExtensible(person);JavaScript Object.seal()
The Object.seal() method prevents additions or deletions of new properties.
The Object.seal() method makes existing properties non-configurable.
The Object.isSealed() method can be used to check if an object is sealed.
Example
"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:
Example
// Create Array
const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.seal(fruits);
// This will throw an error: fruits.push("Kiwi");The Object.seal() method will fail silently in non-strict mode and throw a TypeError in strict mode.
JavaScript Object.isSealed()
The Object.isSealed() method can be used to check if an object is sealed.
The Object.isSealed() returns true if an object is sealed.
Examples
// Create Object
const person = {firstName:"John", lastName:"Doe"};
// Seal Object Object.seal(person); // This will return true
let answer = Object.isSealed(person);JavaScript Object.freeze()
The Object.freeze() method prevents any changes to an object.
Frozen objects are read-only.
No modification, addition or deletion of properties are allowed.
Example
"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:
Example
const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.freeze(fruits);
// This will trow an error: fruits.push("Kiwi");The Object.freeze() method will fail silently in non-strict mode and throw a TypeError in strict mode.
JavaScript Object.isFrozen()
The Object.isFrozen() method can be used to check if an object is frozen.
The Object.isFrozen() returns true if an object is frozen.
Examples
// Create Object
const person = {firstName:"John", lastName:"Doe"};
// Freeze Object Object.freeze(person); // This will return true
let answer = Object.isFrozen(person);Advanced Chapters
JavaScript Object Definitions
JavaScript Object Advanced this
JavaScript Object Iterations
JavaScript Object Getters & Setters
JavaScript Object Management
JavaScript Object Protection
JavaScript Object Prototypes
JavaScript Object Reference