const isMap = (val) =>
toTypeString(val) === '[object Map]'
const objectToString =
Object.prototype.toString
const toTypeString = (value) =>
objectToString.call(value)
function isMap2(val) {
return val instanceof Map
}
function isMap3(val) {
return val.constructor.name === "Map"
}
function isMap4(val) {
return !!val && (val)[Symbol.toStringTag] === 'Map'
}
var mapLike = new Map();
isMap(mapLike)
isMap3(mapLike)
isMap4(mapLike)
isMap2(mapLike)