ECMAScript 2015中引入的JavaScript类与JavaScript现有的基于原型的继承之间有什么区别?为什么选择一个而不是其他?
答案 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 {}