箭头功能中的卷曲括号

问题描述 投票:14回答:2

请有人,请解释以下内容:

我正在跟随丹·阿布拉莫夫的讲座和做练习。

代码工作正常,但是,当使用大括号**{ }**编写以下特定函数时,测试失败。

    case 'toggleTodo' :
        return (
            state.map( (one) => {
                oneTodo( one, action )
            })
        );

相同的代码工作正常,没有花括号。

    case 'toggleTodo' :
        return (
            state.map( (one) => 
                oneTodo( one, action )
            )
        );

Here is the JsBin。请参阅第31行。

javascript ecmascript-6 brackets curly-braces arrow-functions
2个回答
13
投票
case 'toggleTodo' :
    return (
        state.map( (one) => 
            oneTodo( one, action )
        )
    );

等于:

case 'toggleTodo' :
    return (
        state.map( (one) => {
            return oneTodo( one, action )
        })
    );

看到退货声明


17
投票

这对括号形成一个块,包含一个语句列表。你需要明确地使用return语句来使函数返回一些东西。

如果省略大括号,则箭头函数具有简洁的主体,该主体仅由单个表达式组成,其结果将隐式成为函数的返回值。

© www.soinside.com 2019 - 2024. All rights reserved.