以前从未见过这个:
.flatMap(obj => {
return removeOneLine(this)
.map(l => {l:l,id:obj.id});
我想映射结果,但是当然,我猜JS不知道这是一个对象还是函数体。
执行以下操作是避免语法错误的唯一方法(因为它对引擎来说不明确):
.flatMap(obj => {
return removeOneLine(this)
.map(l => {
return {l: l, id: obj.id}
});
})
在这种情况下这种歧义是否正常,除了我上面所做的之外,还有什么方法可以缓解?
最佳答案
为什么要使用单语句粗箭头函数的花句?
您不需要在函数体周围使用花括号,也不需要显式的 return
语句。但是,您确实需要在对象文字两边加上括号,以防止其被解释为函数体。
.flatMap( obj=> removeOneLine(this).map(l => ({ l: l, id: obj.id })) )
关于javascript - map 和箭头函数出现奇怪的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41373942/