Immutable Objects in Javascript

let name = {
firstName: "Virender",
lastName: "Sehwag",
getFullName() {
return firstName + " " + lastName;
},
};
const arr = [1,2,3];
arr[3] = 4;
console.log(arr); // [1,2,3,4];

const obj = {firstName="Virat"}
obj.lastName = "Kohli";
console.log(obj); // {firstName="Virat", lastName="Kohli"}
let name = {
firstName: "Virender",
lastName: "Sehwag",
getFullName() {
return firstName + " " + lastName;
},
};
Object.freeze(name);name.middleName = "R"; // !!!ERROR!!! in strict mode
name.firstName = "Sachin"; // ERROR!!! in strict mode
Object.isFrozen(name);    // true
let name = {
firstName: "Virender",
lastName: "Sehwag",
getFullName() {
return firstName + " " + lastName;
},
};
Object.seal(name);name.middleName = "R"; // ERROR!!! in strict mode
name.firstName = "Sachin"; // Works!!!
delete name.lastName; // ERROR!!! in strict mode
Object.isSealed(name);   // true
let name = {
firstName: "Jasprit",
lastName: "Bumrah",
getFullName() {
return firstName + " " + lastName;
},
};
Object.preventExtesion(name);name.middleName = "R"; // ERROR!!! in strict mode
name.firstName = "Sachin"; // Works!!!
delete name.lastName // true
Object.isExtensible(name);    // false

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store