地图和箭头功能出现奇怪的语法错误

时间:2016-12-29 05:59:35

标签: javascript node.js ecmascript-6

之前从未见过这个:

.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}
                });
        })

这种情况在这种情况下是否正常,除了我上面所做的以外,还有什么方法可以缓解?

1 个答案:

答案 0 :(得分:1)

为什么你有单语句胖箭头函数的曲线?

您不需要在函数体周围使用花括号或明确的return语句。但是,您需要在对象文字周围加上括号,以防止将其解释为函数体。

.flatMap( obj=> removeOneLine(this).map(l => ({ l: l, id: obj.id })) )