javascript - 在 JavaScript 中传递冻结对象
问题描述
例子
考虑以下程序:
const engine = {"power": 200};
const car = {"brand": "Fiat", "motor": engine};
// Code using car object..
假设在我的程序中更改汽车属性的值没有意义。任何这样做的尝试都会导致程序的错误状态。我想冻结汽车对象,可以通过以下方式完成:
Object.freeze(car); // Make car immutable
问题
仍然可以修改引擎属性,因为引擎没有被冻结:
car.motor.power = 400 // Valid assigment.
冻结汽车时,我还想冻结引擎和任何参考引擎都有..等。
问题
在 JavaScript 中传递冻结对象的正确方法是什么? 是否有任何语言功能/通用方法可以做到这一点?
解决方案
推荐阅读
- r - 使用 R 语言从 XML 数据文件构建表
- python - 如何在 sqlalchemy 中将列重置为其默认值?
- html - 如何在 REST 中将 HTML 作为响应发送?
- mysql - 在其他行中选择具有条件的行
- rust - Rust“由于需求冲突(E0495)而无法推断出适当的生命周期”
- laravel - 如何在 laravel 6 中安装干预/图像
- firebase - 我无法使用谷歌登录包构建 ios
- python - for循环中的“打开”是python中的安全方法吗?
- python-3.x - 在 python networkx 中创建与主图具有相同边样式/宽度的节点类型子图
- algorithm - 使用布尔数组对数组进行排序