0

我正在编辑某人的代码,但我不明白他们试图用这个语句做什么。这是函数的末尾。

 return !(this.variable == "value")
4

4 回答 4

6

他们正在返回truefalse基于与比较结果相反的结果。

写起来可能会更清楚:

return this.variable != "value";

有时你会看到:

return !!(some.expression);

这会强制将表达式的结果“真实”转换为布尔值(truefalse)。这 ”!!” 只是一对单独的逻辑补码(“非”)运算符。第一个(右侧)将表达式的结果转换为布尔值,但与“真实性”相反。第二个因此将其翻转回来。

于 2012-05-22T21:25:35.173 回答
0

它返回一个真或假......

感叹号是NOT...

所以 this.variable 不等于“值”。

于 2012-05-22T21:25:45.143 回答
0
this.variable == "value"

这将比较两个值并计算为布尔值(如果它们比较相等,则为真)。

!(this.variable == "value")

这否定了值(true <-> false)。

return !(this.variable == "value")

这将返回函数的值。

于 2012-05-22T21:27:32.117 回答
0

他们正在检查 this.variable 是否等于“值”(返回真或假),然后使用 ! (不)使值相反。

它达到了相同的结果

return (this.variable != "value")

您不妨将其更改为那个,因为它更清晰。

于 2012-05-22T21:28:12.320 回答