有人会介意将这行三元代码转换为if
/ then
语句。我理解三元,但在转换为if
/ then
时无法解决语法错误。这是我不得不借用的作业的唯一一行,我想把它变成if
/ then
,这样我就可以对它进行评论并更好地理解它。
原件:
return n == null || isNaN(n) ? 0 : n;
我的尝试:
return n == null || if(isNaN(n)){return 0;}else{return n;}
答案 0 :(得分:1)
if (n == null || isNaN(n)) {
return 0;
} else {
return n;
}
答案 1 :(得分:0)
您必须移动return
并为if和else分别设置一个:
if(n == null || isNaN(n)){
return 0;
}else{
return n;
}
答案 2 :(得分:0)
if (n == null || isNaN(n))
return 0;
else
return n;
答案 3 :(得分:0)
答案 4 :(得分:0)
您需要在此处应用一些grammatics:
其他四个答案提供了正确的源代码,我不想重复它。
答案 5 :(得分:0)
问题是返回必须是它出现的任何一行的第一个语句(根据ECMA规范)。
如果您首先添加括号,则代码更容易翻译(n == null || (isNaN(n) ? 0 : n)
给出不同的结果,并且不等同于javascript对未加括号的代码的默认解析)
return (n == null || isNaN(n)) ? 0 : n;
相当于
if (n == null || isNaN(n)) {
return 0;
} else {
return n;
}