如何在javascript中的箭头函数中使用if-else conditon?

时间:2016-06-04 07:39:04

标签: javascript

我是java脚本中Arrow函数的新手。任何人请告诉我  是否可以使用箭头函数在java脚本中使用if else条件。

5 个答案:

答案 0 :(得分:13)

箭头函数可以简单地看作是常规函数的简洁版本,除了db.games.aggregate([ { $project: { scores: [ { name: '$winner', wins: { $literal: 1 }, losses: { $literal: 0 }, tied: { $literal: 0 } }, { name: '$loser', wins: { $literal: 0 }, losses: { $literal: 1 }, tied: { $literal: 0 } }, { name: '$player1', wins: { $literal: 0 }, losses: { $literal: 0 }, tied: { $cond: [ "$tied", 1, 0 ] } }, { name: '$player2', wins: { $literal: 0 }, losses: { $literal: 0 }, tied: { $cond: [ "$tied", 1, 0 ] } } ] } }, { $unwind: '$scores' }, { $group: { _id: "$scores.name", wins: { $sum: "$scores.wins" }, losses: { $sum: "$scores.losses" }, tied: { $sum: "$scores.tied" } } } ]) 是隐含的(在其他一些您可以阅读的关于here的细微内容中)。使用if / else的一个好方法是使用ternary。采取这个常规功能:

return

使用三元组的箭头函数中的等价物是:

function(a){
    if(a < 10){
        return 'valid';
    }else{
        return 'invalid';
    }
}

答案 1 :(得分:11)

正如您可能发现的那样,没有大括号的箭头函数的主体只能是单个表达式,因此如果不允许使用语句。

带括号的箭头函数允许使用语句,如下所示:

const func = () => {
    if (...) ...
}

答案 2 :(得分:3)

对于单个“ if”条件,您可以使用快捷方式语法。

想象一下,仅当> 10时才需要执行doThis()函数:

a => a > 10 && doThis()

答案 3 :(得分:2)

这是我发现有用的一种方法

此常规功能

function(a){
    if(a < 10){
        return 'valid';
    }
}

等效的箭头功能是

a => {
    if(a < 10){
        return 'valid';
    }
}

在React项目中对数组数据进行条件映射时,我发现这很有用。下面的例子

function App(){
    const items = useFetch()
    return (
        <div>
            {items.map( (item) => {
                if (item[1]==='something'){
                    return (
                        <li>{item[2]}</li>
                    )
                }
            })}
        </div>
    )
}

答案 4 :(得分:0)

您需要了解箭头功能的运作方式。

var foo = (value) => value;

与:

相同
var foo = (value) => {
    return value;
}

与以下内容相同:

function foo(value) {
    return value;
}

因此,您可以看到将if-else放入箭头函数中没有什么特别之处。