Javascript原型、属性和函数继承

Javascript原型、属性和函数继承,javascript,inheritance,Javascript,Inheritance,在JS中继承的最佳方式是什么?JS总是在变化,您研究的任何信息都有不同的方式进行“类”继承。这是我使用的方法,但我不喜欢它,因为它太难看了。有没有更好的方法可以获得同样的结果 function Foo(){ this.doFoo = function(){} return this; } Foo.prototype = { doMoreFoo : function(){ return 5; } } function Bar(){ Foo.call(this);

在JS中继承的最佳方式是什么?JS总是在变化,您研究的任何信息都有不同的方式进行“类”继承。这是我使用的方法,但我不喜欢它,因为它太难看了。有没有更好的方法可以获得同样的结果

function Foo(){
 this.doFoo = function(){}
 return this;
}
Foo.prototype = {
   doMoreFoo : function(){
      return 5;
   }
}

function Bar(){
   Foo.call(this);
   // override
   this.doFoo = function(){return 22;}
   return this;
}
Bar.prototype = Object.create(Foo.prototype);
Bar.prototype.constructor = Bar;

旁注:ES6有课程。查找没有类的情况下,您无法像在Java中使用
extends
@jmugz那样获得继承。我知道这一点,但对ES6的支持有多广泛?实际上,我的客户只使用FF,我们要求更新到最新版本。这样行吗?实际上,您需要使用编译器将ES6源代码编译为ES5,例如Babel。无论如何,如果你要去那里,请使用许多编译成Javascript的语言中的任何一种,比如CoffeeScript、TypeScript等,它们都添加了更好的继承语法。我正试图避免在JS之上有这么一堆荒谬的模块和编译器。我认为这给即将到来的开发人员造成了巨大的障碍,他们需要对安装的45个不同的模块绞尽脑汁。。。如果我能将ES6仅仅用于类语法,我会很高兴。。