【问题标题】:Is the ES6 class based inheritance is same like es5 prototypal inheritance [duplicate]基于 ES6 类的继承是否与 es5 原型继承相同[重复]
【发布时间】:2019-04-23 09:04:26
【问题描述】:

在幕后,基于 ES6 类的继承是否与 es5 原型继承完全相同? 如果不是,有什么区别? chrome 是否与 ES6 转译器一样,我的意思是在内部将 es6 类编译为函数构造函数?

【问题讨论】:

  • 基本上是一样的。区别之一是您只能使用new 调用 ES6 类构造函数。不使用new 是一个错误。
  • JavaScript 中面向类只是语法糖

标签: javascript es6-class prototypal-inheritance


【解决方案1】:

在底层实现是相同的,Javascript 中的“类”只是一个语法糖。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes

在 ECMAScript 2015 中引入的 JavaScript 类主要是 JavaScript 现有的基于原型的继承的语法糖。

【讨论】:

    【解决方案2】:

    如果它支持 ES6 类,浏览器会同样对待它,否则你用基于类的继承编写的代码会导致浏览器出错。因此,您可以考虑的差异之一是浏览器支持。

    【讨论】:

      猜你喜欢
      • 2010-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-24
      相关资源
      最近更新 更多