JavaScript uses prototypal inheritance . When you use new command, It inherits from Object . Incase you want to inherit from an user defined object (e.g. Animal) you need to use new Animal() or without using new you can do it in following way. 
   // Function object acts as a combination of a prototype 
     // to use for the new object and a constructor function to invoke:
     function Animal(name){
      this.name = name
     }
     var inheritFrom = function(parent, prop){
      // This is how you create object as a prototype of another object
      // var x = {} syntax can’t do this as it always set the newly
      //created object’s prototype to Object.prototype.
      var obj = Object.create(parent.prototype);
     // apply() method calls a function with a given this value 
     //and arguments provided as an array 
     parent.apply(obj, [prop]);
     return obj
    }
    var duck = inheritFrom(Animal, 'duck');
    console.log(duck.name);  // ‘duck’