【发布时间】:2016-04-08 00:00:11
【问题描述】:
我喜欢 Records 的想法主要是因为我们可以摆脱使用 someObject.get('someKey')
但是 Record 似乎更像是某种记录模板。
如果您只是在每次需要只读不可变对象时实例化 Record,仅仅因为您喜欢以 someObject.key 的形式访问属性,这会是一个坏主意吗?
【问题讨论】:
标签: immutable.js
我喜欢 Records 的想法主要是因为我们可以摆脱使用 someObject.get('someKey')
但是 Record 似乎更像是某种记录模板。
如果您只是在每次需要只读不可变对象时实例化 Record,仅仅因为您喜欢以 someObject.key 的形式访问属性,这会是一个坏主意吗?
【问题讨论】:
标签: immutable.js
调用 Record 时会返回一个传统的 JS 类型(类)。理想情况下,您应该存储此类型引用并从中创建新的记录实例。否则像继承检查这样的东西不能按预期工作。
您应该更喜欢 Record 而不是传统的 JS 对象或 Immutable Maps,因为它提供了完整性和不变性,同时保留了一流的成员访问权限。但是不要仅仅为了语法方便而从 Map 创建 Record,您应该在任何地方使用 Record 代替所述 Map。
也就是说,请记住,Record 有自己的问题包袱。你可以在这里阅读我的另一篇文章...https://stackoverflow.com/a/36357288/2790937
【讨论】: