zl程序教程

您现在的位置是:首页 >  前端

当前栏目

[Javascript] Immute Object

JavaScript object
2023-09-14 09:00:53 时间

Three ways to make object immutable:

 

1. Use JSON.parse(JSON.stringify(obj)): this approach is little bit expense. 

2. Use Object.create()

var person = {
  name: "Wan"
}

var copyPerson = Object.create(person);

console.log(copyPerson.name); //Wan

This is a cheap way to do. 

Because Object.create() actually doesn't do a deep copy of the original object, it jut create a pointer to the original object, we can verify by:

console.log(JSON.stringify(copyPerson)); //"{}"

As we can see it is just a empty object.

 

3. Use Object.assign:

var person = {
  name: "Wan"
}

var copyPerson = Object.assign({}, person);

console.log(copyPerson.name); //"Wan"
console.log(JSON.stringify(copyPerson)); //"{\"name\":\"Wan\"}"