如何在 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.