以下是我的代码
if(props.plan[plan_id]) {
if(props.plan[plan_id].number== 0) {
return null;
}
else {
return 'some value';
}
}
首先,我需要检查prop.plan [plan_id]是否存在然后使用它的数据。 有什么方法可以使这段代码更漂亮,因为我写了两次if语句。
答案 0 :(得分:2)
使用三元运算符:
if (props.plan[plan_id])
return (props.plan[plan.id].number == 0) ? null : 'some value';
答案 1 :(得分:1)
顺便说一句,我认为可能不是使用==
,===
在这种情况下更好:
if(props.plan[plan_id]) {
return props.plan[plan_id].number === 0 ? null : 'some value';
}
答案 2 :(得分:1)
使用&&
operator可以节省两个if
,因为它将在它可以转换为false
的第一个语句处终止(不会尝试检查{{1}的值除非它存在且左侧评估为props.plan[plan_id]
):
true
答案 3 :(得分:0)
为了确保没有运行时错误,我会这样做:
return props && props.plan && props.plan[plan_id] ? 'some value' : null
如果some value
不存在或其值为props.plan[plan_id]
,0
,undefined
或空字符串,您将获得null
。