私は誰かのコードを編集していますが、彼らがこのステートメントで何をしようとしているのかわかりません。これは関数の終わりにあります。
return !(this.variable == "value")
私は誰かのコードを編集していますが、彼らがこのステートメントで何をしようとしているのかわかりません。これは関数の終わりにあります。
return !(this.variable == "value")
それらは戻ってくるtrue
かfalse
、比較結果の反対に基づいています。
おそらく、次のように書く方が明確だったでしょう。
return this.variable != "value";
時々あなたは見る:
return !!(some.expression);
true
これは、式の結果をブール値(または)に「真実」に変換することを強制しfalse
ます。「!!」は、個々の論理補数(「ではない」)演算子のペアにすぎません。最初のもの(右側)は、式の結果をブール値に変換しますが、「真実」の反対です。したがって、2番目はそれを元に戻します。
this.variable == "value"
これは2つの値を比較し、ブール値に評価されます(等しい場合はtrue)。
!(this.variable == "value")
これにより、値が無効になります(true <-> false)。
return !(this.variable == "value")
これにより、関数から値が返されます。
彼らはthis.variableが"value"(trueまたはfalseのいずれかを返す)に等しいことを確認してから、!を使用しています。(ない)値を反対にする。
それはと同じ結果を達成します
return (this.variable != "value")
それがはるかに明確なので、あなたはそれをそれに変更したほうがよいでしょう。
真または偽を返しています...
感嘆符はNOTです...
したがって、this.variableは「value」と等しくありません。