我注意到我的一个forEach语句中都有一个类型,但是我仍然得到相同的结果。
foo = ["bobby", "tommy", "brendan"]
foo.forEach((f => {
console.log(f)
}))
vs.
foo.forEach((f) => {
console.log(f)
})
我很好奇为什么第一个输入的结果是相同的,我做了错字。
答案 0 :(得分:4)
带有一个参数的箭头函数可以用两种方式编写:
f => {
console.log(f)
}
和
(f) => {
console.log(f)
}
因此,如果只有一个参数,则参数部分周围的花括号是可选的。
并在完整表达式周围放置花括号不会更改该表达式的任何内容,这是
f => {
console.log(f)
}
还有这个
(f => {
console.log(f)
})
甚至是这个
((f => {
console.log(f)
}))
相同。
您的第一个代码块可以这样格式化,以便更好地理解:
foo.forEach(
// first argument of forEach
(f => {
console.log(f)
})
// end of argument list of forEach
)
所以没有大括号放错地方,您只需删除f
周围的可选括号,然后将可选变量放在整个表达式周围。
答案 1 :(得分:0)