节点javascript语法:它是什么意思:'(res)=>'?

时间:2017-01-12 17:33:38

标签: javascript node.js

可以请有人向我解释nodejs docs的语法, 我不明白这句话:
dynamic_cast

2 个答案:

答案 0 :(得分:1)

(res) => {}是一个胖箭头功能。与function(res) {}类似,但有一个很大的不同,this的范围不同。

在ES6中引入了胖箭头函数,并且我的理解几乎完成了两件事:

1)它使语法更简洁,输入的内容更少

2)它允许this引用保留作为函数父级的引用。

阅读有关lambda unctions here

的更多信息

答案 1 :(得分:1)

(res) => { ... }是匿名函数的ES6 / ES2015语法。它被称为arrow functions

e.g。 var add = function (x, y) { return x + y; }

...现在可以写成:

var add = (x, y) => { return x + y; }

...但是如果它只有一行并且该行是一个return语句,则可以将其写为:

var add = (x, y) => x + y

这些胖箭头函数保留了this的词法范围,因此有times when NOT to use arrow functions。通常情况下,当您声明一个依赖于this引用的函数不是您声明该函数的this上下文时,会出现这种情况。