繁体   English   中英

三元运算符返回“true:false”。为什么?

[英]Ternary operators returning “true : false”. Why?

通过我们的项目,Coworker让我通过字符串“true:false”grep,我发现很多三元运算符返回显式的真或假。 例如:

return this.state == Cursor.CLOSED ? true : false;

不仅仅是在我们的项目中,而且有很多模块/库可以做到这一点。 对我来说这似乎是多余的,因为作者可能只是这样写的:

return this.state == Cursor.CLOSED;

它是针对Javascript中的一些陷阱的防御性编码吗? 或者只是明确你要回来的东西?

它是针对Javascript中的一些陷阱的防御性编码吗?

编号==总是返回一个布尔值。

条件是完全多余的,并被认为是一种不好的做法。 简化它!

这是非常不必要的,但在许多语言中这是一个非常常见的错误†。 因为相等运算符几乎完全用于条件,一些知识渊博的程序员不知道,更有经验的程序员偶尔会忘记它实际上可以用于它的价值。 从来没有任何重要的JavaScript实现具有使这必要的怪癖。

†“错误”在这里感觉不友好,因为代码是正确的,只是不必要的冗长。 但我想你知道我的意思。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM