2016-11-08 147 views
1

我不知道什么是一个匿名函数之间的区别:什么是nodejs中的“=>”语法?

callback = function (a) {return a} 

,并使用“=>”符号?

callback = (a) => {return a} 

它不仅仅是语法糖吗?

+0

箭头用作许多语言的语法来分隔函数参数和函数实现 –

+1

两者之间的不同之处在于第二个捕获“this”上下文,而另一个捕获调用者函数的上下文。所以你可以调用没有.bind(this)的第二个函数,并且该函数仍然可以使用this.myvar – Aus

+0

https://strongloop.com/strongblog/an-introduction-to-javascript-es6-arrow-functions/ – 0aslam0

回答

2

() =>被称为arrow function的Javascript,它是在ECMA脚本6中引入的。 对于更直观地处理当前对象上下文很有用。

Reference link为ECMA脚本的新功能6.

5

它被称为ES6 胖箭头语法。它们之间有区别,胖箭头一个自动捕获这个

-1

这有什么好做Node.js的Node.js只是一个库,库不能在ECMAScript中引入语法。

这只是一个标准的ECMAScript箭头函数。

它不仅仅是语法糖吗?

是的。箭头函数的词汇范围为this

+2

Node.js是一个运行时。开发人员可以根据需要引入新的语法。 –