b = !b に似たものについての説明を見てきました。しかし、この用法に翻訳するのに十分なほどよく理解していません。
何が
var a = !1;
行う?
a = !1
は省略形の書き方a = false
です。これは通常、JavaScript を圧縮 (ミニファイ) しようとするときに使用されます。これは、3 バイトを節約できるためです。
これが通常の縮小されていない JS で見られる場合は、誰かが怠け者であるか難読化されている可能性があります。
これを chrome dev tools で実行して、何が得られるかを確認してください。
1 は JavaScript の真の値であり、それを否定するとfalse になるため、 aはfalseと評価されます。
多分このhttp://james.padolsey.com/javascript/truthy-falsey/を読んでください。とても興味深いです:)
一般に、!
はそのオペランドのブール値を反転します。
もしそうならそう!a
なるか、そうならそうなるでしょう。true
a
false
false
a
true
それが役立つことを願っています:)
!
not
オペレーターです。したがって! true
、 に等しいfalse
です。その結果は、true
またはfalse
JavaScript のすべての値は、「真」または「偽」のいずれかです。boolean
これは、 (true
またはfalse
) が予期されるコンテキストでの解釈を説明しています。
「真の」値の例: true、1、[]、{}、「テキスト」
「偽」値の例: false、0、""
!1
false に評価される真の値の否定です。b = !b
が atoggler
の場合、値を atruthy
から afalsy
に、またはその逆に変更します。
The !
operator is known as the Logical NOT operator.
In short, it returns false
if the following value is 'truthy', and true
otherwise.
Since 1
is 'truthy', your example, !1
reads NOT 1
, which will return false
.