【发布时间】:2017-07-29 19:19:05
【问题描述】:
我有两个问题 第一的 : 我最近了解到,在 ES 6 派生类中,如果不调用 super(),则“this”不可用。 我理解为什么要这样做,但我想从概念上知道,哪一段 ES6 编译代码使“this”不可用。我的意思是,如果我想在 ES5 中做同样的事情以使“this”不可用,那该怎么做。
第二: 为什么我们不能实例化 ES6 原型方法 以下将不起作用-
class abc{
func(){}
}
var a = new abc()
var b = new a.func()
而这将起作用-
function abc(){}
abc.prototype.func = function(){}
var a = new abc()
var b = new a.func()
为什么?对于上面的问题,我也想知道更多关于什么实现是这样做的,而不是他们为什么决定提供这个功能。
【问题讨论】:
-
在 ES5 中你不能实例化一个函数,我相信如果你只做 var b= a.func() 就可以工作
-
请提出一个问题,而不是两个。
标签: javascript ecmascript-6 super es6-class function-prototypes