如何检查对象是一个Set?

Tam Dc 3 javascript

我正在Set用来处理我的任务.但是当我调试时,我得到了

mySet.has 不是一个功能

所以我的问题是如何检查它是否是一个Set.喜欢ArrayArray.isArray(obj).

Code Maniac.. 8

你可以使用instanceof

let a = new Set()
let b = [1,2]

console.log(a instanceof Set)
console.log(b instanceof Set)

旁注: -

你也可以使用[] instanceof Array.但是,它Array.isArray是为特定目的而创建的:避免了instanceof的问题.即,window1.Array != window2.array;因此,new window1.Array() instanceof window2.Array == false.Set的逻辑相同.只要你不惹恼多个全球环境,instanceof就可以了.如果你这样做,b.toString() == "[object Set]"可能会更好.感谢@andman指出.