有没有比以下方式更好的方法来检查JavaScript对象是否为Map或Set:
Object.getPrototypeOf(map) === Map.prototype
Object.getPrototypeOf(set) === Set.prototype
有没有比以下方式更好的方法来检查JavaScript对象是否为Map或Set:
Object.getPrototypeOf(map) === Map.prototype
Object.getPrototypeOf(set) === Set.prototype
使用 instanceof
运算符:
var foo = new Set;
foo instanceof Set; // True!
foo instanceof Map; // False!
new (class MySet extends Set {}) instanceof Set
也将返回true
。 - Bergi