En el ES6, si hago una clase y creo un objeto de esa clase, ¿cómo compruebo que el objeto es esa clase?
No puedo simplemente usar typeof porque los objetos siguen siendo "object" . ¿Solo comparo constructores?
Ejemplo:
class Person { constructor() {} } var person = new Person(); if ( /* what do I put here to check if person is a Person? */ ) { // do stuff }¿No puedes hacer person instanceof Person ?
La comparación de constructores por sí sola no funcionará para las subclases
Solo una palabra de precaución, el uso de instanceof parece propenso a fallar para los literales de las clases JS integradas (por ejemplo, String , Number , etc.). En estos casos, podría ser más seguro usar typeof de la siguiente manera:
typeof("foo") === "string";
Consulte este hilo para obtener más información.