gpt4 book ai didi

javascript - 在 nodejs 中创建不可变对象(immutable对象)的适当方法

转载 作者:行者123 更新时间:2023-11-30 15:52:13 25 4
gpt4 key购买 nike

我正在构建一个 API,我希望使我的最终返回 对象 成为一个不可变对象(immutable对象)。使更改我的对象的唯一方法是复制到另一个实例。

我该怎么做?

预期行为:

var objectImmutable = api.call(id);
objectImmutable.new_var = 10;
console.log(objectImmutable.new_var)
=>undefined
//---------
var objectNotImmutable = JSON.parse(JSON.stringify(api.call(id)));
objectNotImmutable .new_var = 10;
console.log(objectImmutable.new_var)
=>10

最佳答案

你可以做到 Object.freeze

如果您想卡住所有属性,您可以使用 deep-freeze这是一个非常小的脚本,通过属性递归运行。

我正在编写一个使对象不可变的小型库 (WIP),但通过使用 API,您可以执行操作并获得结果(无需更改对象,因为它是不可变的)。您可以查看代码 here如果您想获得任何想法或做出贡献。

关于javascript - 在 nodejs 中创建不可变对象(immutable对象)的适当方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39148811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com