区别
目前只整理出如下区别:
- 原型链的使用逃不开函数的使用,而函数的声明会被提升;ES6 Class(后面称为 类) 的声明不会提升,真正执行声明语句之前,它们会一直存在于临时死区中。
- 类声明中的所有代码将自动运行在严格模式下,而且无法强行代码脱离严格模式下运行。
- 类中所有的方法都是不可枚举的,原型链要借助
Object.defineProperty()
方法实现方法的不可枚举。 - 每个类都有一个名为
Construct
的内部方法,通过关键字new
调用那些不含Construct
的方法会导致程序抛出错误。 - 使用除关键字
new
以外的方式调用类的构造函数会导致程序抛出错误。 - 在类中修改类名会导致程序错误。
其他
查看这篇文章了解原型链:原型链