区分ImmutableJS和本机JS数据结构?

时间:2016-04-29 00:55:27

标签: javascript immutable.js

我正在编写一个我打算公开的React组件,我想让它与JS数组/对象或者immutable.js等价物(Map / List)一起使用。

识别Immutable.js地图或列表的最佳方法是什么?我不想简单地使用Array.isArray,因为我想要强制它是一个数组或一个List,例如。

我可以检查一些Immutable.js属性,例如_origin__ownerID,但我不想依赖于次要版本中可能发生变化的内部API。< / p>

1 个答案:

答案 0 :(得分:1)

我非常推荐@robg和@joseph-the-dreamer给出的建议。但是,为了满足您的确切需要,每个Immutable.Type都有一个Immutable.Type.isType()静态函数,您可以使用它来确定给定对象是否属于该类型。

E.g。 How to check what is causing a web element to be invisible to Python Selenium? -

var im = require("immutable");

if (im.Map.isMap(someObjectWhichMayBeMap)){
    ...
}