javascript - 关于对象的不可变更新模式:newObject=JSON.parse(JSON.stringify(object))?
问题描述
演示在这里:
let objectTest={
a:"one",
b:"two",
c:"three"
}
let newObject = JSON.parse(JSON.stringify(objectTest))
console.log("hello, I am a new object: ", newObject)
console.log("newObject === objectTest: ", newObject === objectTest)
是否可以制作这样的对象的不可变副本:newObject=JSON.parse(JSON.stringify(object))?
只是为了获取对象的主要属性——出现在 console.log() 上的那个。
我们可以认为这种转变是不可变的吗?
从我的演示中我会说是的,因为它似乎真的创建了一个新对象。
解决方案
是的,它是;JSON.parse每次都会创建一个新对象
推荐阅读
- wordpress - W3 缓存隐藏运输区域
- json - 带有 json_serializable 的 JSON 编码/解码列表
- python - 不是有效的 UUID,如何捕捉错误的 UUID?
- python - 根据逗号将字符串列表拆分为两个单独的列表
- sql - missing FROM-clause entry for table "g"
- r - 如何使用 R 获取 csv 文件中数字变量的计数
- sql - 数据字典可用于检索审计结果
- python - 跨多个进程是否共享 numpy 数组?
- ns2 - ns2 失败并出现“调用类 $cls 时出错:$args”$...”
- c# - MySqlConnection 线程优化