javascript – 这个范围在箭头函数原型中

我的理解是这不起作用(这是一个人为的例子 – 请参阅RxJS了解我实际运行的内容):

function Foo() {
  this.name = 'Johnny Cash'
}

Foo.prototype.who = () => {
  console.log(this.name) // undefined
};

var foo = new Foo();

foo.who()

因为这没有正确的范围.但是,RxJS文档上的this页(最后2个底部示例)使用它.他们如何运行此代码?

RxJS页面上的代码是否不正确?或者我是否需要通过某种Babel插件(我已经尝试通过babel-require和babel-polyfill运行同样的效果)

解决方法:

该页面上的示例已被破坏.

假设它从未按照当前发布的方式运行是公平的,因为它具有语法错误

var subcription = emitter.listen('data', data => console.log(`data: ${data}`);

线(不是成对的括号).

在修复并运行之后 – 还有其他关于读取undefined属性的例外,这就是前面提到的箭头函数.

上一篇:javascript – Angular Observable订阅回退?


下一篇:javascript – 如何使用rxjs在angular2中的输入keyup事件上实现去抖服务