Extending func Constructor

by Krishna Ananthi

JavaScript

const Car = function() {}
Car.prototype.print = function() {
  console.log('i m car');
}
const ToyCar = function() {

};

ToyCar.prototype = Object.create(Car.prototype);
ToyCar.prototype.constructor= ToyCar;
ToyCar.prototype.print = function() {
  console.log('i m toy car');
}

var EgToyCar = function() {};

EgToyCar.prototype = Object.create(ToyCar.prototype);
EgToyCar.prototype.print = function() {
  console.log('i m toy eg car');
}

EgToyCar.prototype.constructor= EgToyCar;
var c = new Car();
var c1 = new ToyCar();
var c2 = new EgToyCar();

c.print();
c1.print();
c2.print();

console.log(EgToyCar instanceof Object);
console.log(EgToyCar instanceof Car);
console.log(EgToyCar instanceof ToyCar); 
console.log(Car.prototype.isPrototypeOf(ToyCar)); 
console.log(Object.prototype.isPrototypeOf(ToyCar)); 
console.log(ToyCar.prototype.isPrototypeOf(ToyCar));