TaskWrite show(x): Date → ISO string, Error → "ERR: <message>", everything else → String(x). Log show(new Date(0)), show(new TypeError("boom")), show(42), show("hi").
instanceof for Date and custom classes
100 XP8 min
Theory
What instanceof tests
x instanceof Constructor returns true if x was made with new Constructor() (or a subclass). It's the type guard for class-based values like Date, Error, Map, Set, or your own classes.
const d = new Date();
d instanceof Date; // true
const err = new TypeError("x");
err instanceof TypeError; // true
err instanceof Error; // true (TypeError extends Error)
err instanceof Date; // false
class User { constructor(name) { this.name = name; } }
new User("Anna") instanceof User; // trueCommon pattern: handle Date, Error, or plain text
function show(x) {
if (x instanceof Date) return x.toISOString();
if (x instanceof Error) return "ERR: " + x.message;
return String(x);
}Versus typeof
typeof new Date() returns "object". Useless. instanceof Date is the actual answer.
🔒
Sign up to start coding
Theory is open to everyone. The interactive editor, live preview, and check are unlocked with a 7-day free trial — card required, cancel anytime.
Sign up — free trial →First 10 lessons in each track are free. No card needed for those.