<分区>
我正在为 ES2015 类编写构造函数,它将接受 Map或者一个普通的旧 JavaScript 对象。如果输入参数是一个 Map,构造函数将只存储它,但如果它是一个 JS 对象,它应该将它转换为一个 Map,例如,通过 new Map(Object.keys(obj).map(k => [k, obj[k]]))
.
我的问题是:如何安全地判断输入参数是 Map 还是 Object?我可以测试一些特定于 Map 的方法,但是否有更可靠和可读性更高的方法?据我所知,没有与 Array.isArray
等效的 Map。