首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript箭头函数

JavaScript箭头函数
EN

Stack Overflow用户
提问于 2019-01-23 14:54:11
回答 2查看 72关注 0票数 3

我看过一些代码,看起来像这样:

代码语言:javascript
复制
function printErr(err) {
    console.error(err)
}
request.on('error', err => printErr)

这是如何工作的呢?我花了几个小时试图弄清楚它,到处寻找它。我知道printErr是一个带有返回函数的对象,但是是什么机制让它将err参数放入函数并调用它呢?

我的想法大致如下:

代码语言:javascript
复制
function foo(callback){
    callback()
}

request.on('error', err => foo)

但是它是如何获得参数的呢?

EN

回答 2

Stack Overflow用户

发布于 2019-01-23 15:00:33

这是箭头函数的缩写。当只有one argument时,即使没有parentheses,我们也可以调用它,而=>表示return。当只有一行返回时,我们可以显式地使用=>来返回,而不是使用return

代码语言:javascript
复制
var a=e=>"hey";
console.log(a())

这与上面的相同

代码语言:javascript
复制
var a=(e)=>{return "hey"};
console.log(a())

票数 0
EN

Stack Overflow用户

发布于 2019-01-24 03:32:23

一开始我很困惑,但这是因为我分析的代码是错误的。

简化

代码语言:javascript
复制
function print(data) {
    console.log(data)
}

const foo = [1,2,3,4]

foo.forEach(x => print) // will not print and just return undefined.
foo.forEach(x => print(x)) // will print correctly
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54321527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档