有人介意将这行三元代码转换为if
/then
语句吗?if
我理解三元,但是当我转换为/时无法消除语法错误then
。这是我必须借用的唯一作业,我想把它写成if
/then
以便我可以评论它并自己更好地理解它。
原来的:
return n == null || isNaN(n) ? 0 : n;
我的尝试:
return n == null || if(isNaN(n)){return 0;}else{return n;}
有人介意将这行三元代码转换为if
/then
语句吗?if
我理解三元,但是当我转换为/时无法消除语法错误then
。这是我必须借用的唯一作业,我想把它写成if
/then
以便我可以评论它并自己更好地理解它。
原来的:
return n == null || isNaN(n) ? 0 : n;
我的尝试:
return n == null || if(isNaN(n)){return 0;}else{return n;}
if (n == null || isNaN(n)) {
return 0;
} else {
return n;
}
您必须移动return
if 和 else 并为 if 和 else 单独设置一个:
if(n == null || isNaN(n)){
return 0;
}else{
return n;
}
if (n == null || isNaN(n))
return 0;
else
return n;
你需要在这里应用一些语法:
其他四个答案给出了正确的源代码,我不想重复了。
问题是 return 必须是它出现的任何行的第一个语句(根据 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;
}