我有以下代码:
return this.condition1
? condition2
? true
: false
: false
有没有一种方法可以在不使用true
false
的情况下写这篇文章?
是的,您可以简化它;您不需要任何三元运算符:
return this.condition1 && condition2;
执行测试以选择true
或false
是多余的。您可以使用!!
将"truthy"值转换为布尔值,如果测试表达式已经提供了布尔值(例如>
或<
比较(,那么您已经获得了所需的值。
return this.condition1 && condition2;
应足以在CCD_ 8和其他条件下使用。请注意,它并不是严格地等效于您的代码的javascript。
为了确定返回true
或false
(作为基元boolean
值(,您需要将其强制为布尔值,如下所示:
return !!(this.condition1 && condition2);
(这确实是为了准确起见,不过在大多数情况下,我会推荐第一个更简单的版本(。