创建不可变记录的实例时是否需要使用"new"运算符?



来自文档 https://facebook.github.io/immutable-js/docs/#/Record 的示例

var ABRecord = Record({a:1, b:2})
var myRecord = new ABRecord({b:3})

我可以省略new运算符吗? 它似乎也可以在没有它的情况下工作。

省略它是不安全的,您可能会在将来的版本中遇到问题。您可以轻松测试给定版本的 Immutable.js 是否支持此功能,如下所示:

typeof (Record({})) === "function"

至少在当前版本中,您可以省略它。如果您查看 GitHub 上的源代码,则有一个检查可以确保this在省略new时正确绑定。

相关内容

最新更新