Coworker让我grep for the string" true:false"通过我们的项目,我发现很多三元运算符返回显式的真或假。例如:
return this.state == Cursor.CLOSED ? true : false;
不仅仅是在我们的项目中,还有很多模块/库可以做到这一点。对我来说这似乎是多余的,因为作者可能只是这样写的:
return this.state == Cursor.CLOSED;
对Javascript中的某些问题进行防御性编码吗?或者只是明确你要回来的东西?
答案 0 :(得分:9)
答案 1 :(得分:3)
这是非常不必要的,但在许多语言中这是一个非常常见的错误†。因为相等运算符几乎完全用于条件,一些知识渊博的程序员不知道,更有经验的程序员偶尔会忘记它实际上可以用于它的价值。从来没有任何重要的JavaScript实现具有使得必要的怪癖。
†“错误”在这里感觉不友好,因为代码是正确的,只是不必要的冗长。但我想你知道我的意思。