任何人都可以向我解释这行代码以及为什么我们使用'?'在javascript?
return n > 0 ? ninja.yell(n-1) + "a" : "hiy";
答案 0 :(得分:3)
这是一个三元运算符,它也存在于其他编程语言中:
return n > 0 ? ninja.yell(n-1) + "a" : "hiy";
^^ ^^ ^^
if condition if true if false(else)
以上陈述相当于以下内容:
if(n>0) {
return ninja.yell(n-1) + "a";
} else {
return "hiy";
}
了解更多read this tutorial。
答案 1 :(得分:1)
问号实际上称为 Ternary Operator ,通常在编程语言中用于一行if语句,它具有以下结构:< / p>
条件?如果条件为为真,则返回:如果条件错误则返回
将三元运营商视为“然后”,将“:”视为其他。所以你的代码将是:
return if( n > 0) then ninja.yell(n-1) + "a" else "hiy";
希望你现在得到它!