ECMAScript 6为对象文字引入了一些增强功能。其中一个是super
,它引用了原型对象。
在下面的MDN文件中说:
super.prop和super [expr]表达式在类和对象文字中的任何方法定义中都有效。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/super
规格: http://www.ecma-international.org/ecma-262/6.0/#sec-super-keyword
所以这段代码:
var obj = {
__proto__: {
method() {
console.log('original');
}
},
method() {
super.method();
console.log('new');
}
};
obj.method();
应将以下内容记录到控制台中:
original
new
但TypeScript 1.6.2甚至没有编译它说它是一个错误:
'super' can only be referenced in a derived class.
在这种情况下,是否意味着TypeScript与ES6不兼容?
答案 0 :(得分:1)
看起来这是TypeScript中的一个错误。
供参考,请参阅github上的问题: https://github.com/Microsoft/TypeScript/issues/5441