我的同事让我在我们的项目中用grep查找字符串"true : false",结果我发现了很多三元运算符明确返回true或false。例如:
return this.state == Cursor.CLOSED ? true : false;
不仅是我们的项目,许多模块/库都这样做。对我来说,这似乎是多余的,因为作者本可以像这样写:
return this.state == Cursor.CLOSED;
这是防御性编程针对JavaScript中的某些陷阱吗?还是只为了明确你正在返回什么?
我的同事让我在我们的项目中用grep查找字符串"true : false",结果我发现了很多三元运算符明确返回true或false。例如:
return this.state == Cursor.CLOSED ? true : false;
不仅是我们的项目,许多模块/库都这样做。对我来说,这似乎是多余的,因为作者本可以像这样写:
return this.state == Cursor.CLOSED;
这是防御性编程针对JavaScript中的某些陷阱吗?还是只为了明确你正在返回什么?
return this.state == Cursor.CLOSED;
。 - Victhis.state == Cursor.CLOSED
已经为真了,那么这似乎是不必要的? - adeneoreturn foo || bar ? true : false;
与仅return foo || bar
非常不同。 - p.s.w.g!!
的更显眼的版本。该值原本不是布尔值 -String.prototype.match
返回一个数组。 - Chuck