const Animal = function(name, legs) {
  this.name = name;
  this.legs = legs;
  this.eat = function() {
    this.isEating = true;
  }
}
Animal.prototype.walk = function() {
  this.isWalking = true;
}
const Dog = function(name, legs) {
  Animal.call(this, name, legs);
}
Dog.prototype = Object.create(Animal.prototype);
let puppy = new Dog('blake', 4);
puppy.walk();
puppy.eat();
console.log(puppy);
console.log(puppy instanceof Animal);
console.log(puppy instanceof Dog);
class Animal {
  constructor(name, legs) {
    this.name = name;
    this.legs = legs;
  }
  walk() {
    this.isWalking = true;
  }
  eat() {
    this.isEating = true;
  }
}
class Dog extends Animal {
  constructor(name, legs, furType) {
    super(name,legs);
    this.furType = furType;
  }
  speak() {
    console.log('Wooof!');
  }
}
let rosie = new Dog('rosie', 4, 'Short Hair');
rosie.walk();
rosie.eat();
console.log(rosie);
rosie.speak();