Reputation: 10372
In the ES6, if I make a class and create an object of that class, how do I check that the object is that class?
I can't just use typeof
because the objects are still "object"
. Do I just compare constructors?
Example:
class Person {
constructor() {}
}
var person = new Person();
if ( /* what do I put here to check if person is a Person? */ ) {
// do stuff
}
Upvotes: 41
Views: 30082
Reputation: 2019
Just a word of caution, the use of instanceof
seems prone to failure for literals of built-in JS classes (e.g. String
, Number
, etc). In these cases it might be safer to use typeof
as follows:
typeof("foo") === "string";
Refer to this thread for more info.
Upvotes: 6
Reputation: 97601
Can't you do person instanceof Person
?
Comparing constructors alone won't work for subclasses
Upvotes: 62