我正在尝试从另一个范围内调用'use strict';
class One {
test() {
console.log('test');
}
}
class Two extends One {
hi() {
super.test();
}
hello() {
var msg = 'test';
return new Promise(function(resolve, reject) {
console.log(msg);
super.test();
});
}
}
var two = new Two();
two.hi();
two.hello();
方法,但这似乎不起作用。
bar
答案 0 :(得分:3)
显然,在巴贝尔,它开箱即用。但是在节点中,似乎在该匿名函数中,this
不再绑定到two
对象,而super
则不可用。您可以使用胖箭头将this
绑定到匿名函数的范围:
return new Promise((resolve, reject) => {
console.log('Message: ', msg);
super.test();
});
如果您不熟悉胖箭和/或this
范围的概念,这是一个很好的解读:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions