JSFiddle - React, Tailwind, and code Playground
by tmtron
JavaScript
"use strict";
class BaseError extends Error {
constructor(message) {
const trueProto = new.target.prototype;
super(message);
Object.setPrototypeOf(this, trueProto);
}
}
class Err1 extends BaseError {
}
const e1 = new Err1();
console.log(e1 instanceof Err1); // true
console.log(e1 instanceof Error); // true
class Err2 extends Err1 {
}
const e2 = new Err2();
console.log(e2 instanceof Err1); // true
console.log(e2 instanceof Err2); // true
console.log(e2 instanceof Error); // true
class NoBaseErr extends Error {
}
const x = new NoBaseErr();
console.log(x instanceof Error); // true
console.log(x instanceof NoBaseErr); // false !!!