node.js中的箭头函数上下文
Arrow function context in node.js
使用MDN文档中Arrow函数的以下示例,位于https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
function Person(){
this.age = 0;
setInterval(() => {
this.age++; // |this| properly refers to the person object
}, 1000);
}
var p = new Person();
当我将该代码复制/粘贴到node.js 0.12 node --harmony
中时,this.age++;
行似乎不是指Person
上下文,而是指setInterval
上下文。将console.log(this)
添加到回调中似乎证实了这一点。
当我使用过其他es6->es5转发器时,它总是如预期的那样工作。这是node.js中的一个错误吗?我是不是错过了什么?
编辑:也许这就是原因?V8 中的ES6箭头函数词法this
不同的是,他们讨论的是Chrome,而这个问题是关于Node.js的http://kangax.github.io/compat-table/es6/#arrow_functions尽管它们都使用V8,但它们具有不同级别的ES6支持。
原因似乎是V8还没有更新到支持词法this
。
相关文章:
- 将函数的上下文应用于javascript变量
- 是否可以在不更改上下文的情况下调用函数.apply
- 调用$.each()函数时上下文发生变化
- 如何向onClick事件处理程序传递一个接受参数的函数,并且仍然将该函数绑定到组件's”;这个“;上下文
- 访问函数对象的上下文属性|如何
- 构造函数函数中的自执行函数的OO上下文/范围
- node.js中的箭头函数上下文
- Javascript Ninja:数组中的当前元素作为函数上下文
- underscore.js debounce函数中的内部函数上下文
- 离开函数上下文后,Javascript数组内容将消失
- Javascript函数上下文
- & # 39; functionInBackboneView& # 39;在Jquery中不是一个函数上下文
- 如何构造原型,使函数上下文不指向“原型”对象?
- 将变量传递给函数上下文
- 点击释放函数上下文
- 在JavaScript中更改函数上下文(用于访问局部变量)
- Javascript:使用函数上下文与作为参数传递的好处是什么?
- 嵌套函数中的函数上下文(“this”)
- 事件类型字段的打字稿事件处理程序函数 - 上下文不正确
- JavaScript函数上下文错误