JSFiddle - React, Tailwind, and code Playground

by aramk

JavaScript

function Animal() {
}
Animal.prototype.noise = function() {
	throw new Error('abtract');
}

function Cat() {
}
Cat.prototype = new Animal();
Cat.prototype.noise = function() {
	return 'meow';
}

function Tabby() {
}
Tabby.prototype = new Cat();
Tabby.prototype.noise = function() {
	return 'meow!';
}

const cat = new Cat();
console.log(cat.noise());
console.log('instance 1', cat instanceof Cat);
console.log('instance 2', cat instanceof Animal);
console.log(cat.constructor);

const tom = new Tabby();
console.log(tom.constructor);

console.log('constructor', Animal.prototype.constructor)