【发布时间】:2021-09-29 07:24:40
【问题描述】:
是否可以使用箭头函数在 JavaScript 中使用 if else 条件?
【问题讨论】:
-
是的,没有什么特别之处。您使用它的方式与在普通函数中完全相同。
-
箭头函数只是简写,但body可以正常。
-
您是否尝试遇到错误?展示您的尝试,我们可以帮助您解决问题。
标签: javascript
是否可以使用箭头函数在 JavaScript 中使用 if else 条件?
【问题讨论】:
标签: javascript
【讨论】:
if-else condition,三元组非常适合。但是如果你想学究气,你会注意到三元组的 mdn 也说,This operator is frequently used as a shortcut for the if statement.
if (something) doSomething(),否则什么都不做,这就是为什么这个答案对我没有太大帮助的原因。事实证明,出于某种原因,我不得不从箭头函数返回一个值,即使文档说它没有被使用。如果您想知道,那是facebook.github.io/react-native/docs/asyncstorage.html#getitem
你需要知道箭头函数是如何运作的。
var foo = (value) => value;
等同于:
var foo = (value) => {
return value;
}
等同于:
function foo(value) {
return value;
}
如您所见,将 if-else 放入箭头函数并没有什么特别之处。
【讨论】:
function foo(value) { return value; }.bind(this)
您可能已经发现,没有大括号的箭头函数的主体只能是一个表达式,因此不允许使用 if 语句。
在带有大括号的箭头函数中允许使用语句,如下所示:
const func = () => {
if (...) ...
}
【讨论】:
对于单个 'if' 条件,您可以使用快捷语法。
想象一下,只有当 a > 10 时才需要执行 doThis() 函数:
a => a > 10 && doThis()
【讨论】:
noop(),并为此大笑自己。
这是我认为有用的一种方法。
对于这个常规函数,
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>
)
}
【讨论】: