DayDay's Studio.

JavaScript 原型链和 ES6 的 Class 的区别

字数统计: 242阅读时长: 1 min
2020/03/03 Share

区别

目前只整理出如下区别:

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

其他

查看这篇文章了解原型链:原型链

CATALOG
  1. 1. 区别
  2. 2. 其他