ECMAScript 2015中引入的JavaScript类与JavaScript现有的基于原型的继承之间的区别?

时间:2017-07-27 14:09:35

标签: javascript inheritance

ECMAScript 2015中引入的JavaScript类与JavaScript现有的基于原型的继承之间有什么区别?为什么选择一个而不是其他?

1 个答案:

答案 0 :(得分:2)

它们的功能几乎完全相同。

来自MDN

  

ECMAScript 2015中引入的JavaScript类主要是基于JavaScript现有基于原型的继承的语法糖。类语法是向JavaScript引入新的面向对象的继承模型。

ES2015 class只是编写JavaScript传统的基于原型的继承的简单方法。

有些人认为class不是一个好主意,因为JS没有传统意义上的课程。但是,与使用传统的class方法相比,prototype使您的代码更短,这一点无可否认。

需要注意的一个小差异:function被悬挂。 class es不是。例如:

let p = new Rectangle(); // ReferenceError

class Rectangle {}