0

私は誰かのコードを編集していますが、彼らがこのステートメントで何をしようとしているのかわかりません。これは関数の終わりにあります。

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

4 に答える 4

6

それらは戻ってくるtruefalse、比較結果の反対に基づいています。

おそらく、次のように書く方が明確だったでしょう。

return this.variable != "value";

時々あなたは見る:

return !!(some.expression);

trueこれは、式の結果をブール値(または)に「真実」に変換することを強制しfalseます。「!!」は、個々の論理補数(「ではない」)演算子のペアにすぎません。最初のもの(右側)は、式の結果をブール値に変換しますが、「真実」の反対です。したがって、2番目はそれを元に戻します。

于 2012-05-22T21:25:35.173 に答える
0
this.variable == "value"

これは2つの値を比較し、ブール値に評価されます(等しい場合はtrue)。

!(this.variable == "value")

これにより、値が無効になります(true <-> false)。

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

これにより、関数から値が返されます。

于 2012-05-22T21:27:32.117 に答える
0

彼らはthis.variableが"value"(trueまたはfalseのいずれかを返す)に等しいことを確認してから、!を使用しています。(ない)値を反対にする。

それはと同じ結果を達成します

return (this.variable != "value")

それがはるかに明確なので、あなたはそれをそれに変更したほうがよいでしょう。

于 2012-05-22T21:28:12.320 に答える
0

真または偽を返しています...

感嘆符はNOTです...

したがって、this.variableは「value」と等しくありません。

于 2012-05-22T21:25:45.143 に答える