在使用现代JavaScript中的类时,我的理解是这只是对ECMAScript2015之前使用的相同基于原型的对象模型的一种语法糖。我喜欢直接使用原型链,但类肯定更容易。
因此,在JavaScript中,程序很可能都是根据基于类的语法来指定的,但执行时很可能是根据原型对象的规则执行的。因此,始终需要在JavaScript编写方式和执行方式之间进行某种转换。
无论通过浏览器和其他引擎如何实现JavaScript,我的问题是:
从编写JavaScript引擎的角度来看,以原型委托的方式实现面向对象语言是否具有性能或其他优势,而不是使用类?
====编辑
一个类似的问题(基于原型的语言中隐藏类的实现)有评论表明,传统意义上的类在编译器层面上更容易实现,因为它们可以被静态地布置到内存中(我认为这是暗示),但这不允许像JavaScript那样的动态结构。所以在我看来,原型委托可能是在编译器层面上实现动态对象的好选择?