如何在 Javascript 中为三元运算符 return true 或 false?
How do I return true or false for ternary operator in Javascript?
我正在尝试将下面的代码转换为带有三元运算符
的 shorthand 版本
if (sum % 10 === 0) {
return true;
} else {
return false;
}
原样工作正常,但当我将其更改为
sum % 10 === 0 ? return true : return false;
我遇到语法错误,当我将其更改为
sum % 10 === 0 ? true : false;
它没有按预期工作。
如果有人能告诉我发生了什么事,我将不胜感激。
你尝试了什么:
sum % 10 === 0 ? return true : return false;
这不起作用,因为 return
是语句而不是表达式。不能在表达式内部使用语句。
sum % 10 === 0 ? true : false;
这行得通,但是没有 return
语句,它只是一个没有使用的表达式。
最后需要返回conditional (ternary) operator ?:
的结果,比如
return sum % 10 === 0 ? true : false;
对于更短的方法,您可以 return 没有三元的比较结果。
return sum % 10 === 0;
表达式 (sum % 10 === 0)
本身就是布尔值,所以只是 return 它:
return sum % 10 === 0
你可以简单地做:
return !(sum % 10)
如果(sum % 10) === 0
,则!(sum % 10)
将return true
,否则false
.
我正在尝试将下面的代码转换为带有三元运算符
的 shorthand 版本 if (sum % 10 === 0) {
return true;
} else {
return false;
}
原样工作正常,但当我将其更改为
sum % 10 === 0 ? return true : return false;
我遇到语法错误,当我将其更改为
sum % 10 === 0 ? true : false;
它没有按预期工作。
如果有人能告诉我发生了什么事,我将不胜感激。
你尝试了什么:
sum % 10 === 0 ? return true : return false;
这不起作用,因为 return
是语句而不是表达式。不能在表达式内部使用语句。
sum % 10 === 0 ? true : false;
这行得通,但是没有 return
语句,它只是一个没有使用的表达式。
最后需要返回conditional (ternary) operator ?:
的结果,比如
return sum % 10 === 0 ? true : false;
对于更短的方法,您可以 return 没有三元的比较结果。
return sum % 10 === 0;
表达式 (sum % 10 === 0)
本身就是布尔值,所以只是 return 它:
return sum % 10 === 0
你可以简单地做:
return !(sum % 10)
如果(sum % 10) === 0
,则!(sum % 10)
将return true
,否则false
.