最初に設定されます、コードは最後の要素を返しますが、すべてを評価するJavaScriptでcomma operatorを使用しています。たとえば、最後の項目だけが返されるため、var a = 1, 2, 3;
は常に3に等しくなります。
これを考慮して
、あなたは理解していなかったコードの一部を見てみましょう:
:
(console.log("runned"), c = !0, !1)
によりコンマ演算子には、これは順番に評価される3つの式に分裂します
console.log("runned")
コンソールで指定された単語を印刷します。
c = !0
は、変数c
にtrue
の値を割り当てます。これは、ゼロが偽の値であり、not演算子!
を使用して逆に変換すると、true
が生成されるからです。
`!1`
最後に、この式の結果は、大括弧内のセクション全体から返されます。上記と同様に、これは1
が真実値であるという事実を利用しているので、!1
はfalse
となる。
全体として、コードは印刷し、値を割り当て、値をすべて1行に返します。
文法と変数が使用されていると仮定すると、これは最小化されたコードです。 Minificationは、使用される文字の量を減らすために、同様の方法で言語ルールを使用します。部分的な!0
および!1
は、後者の長さの少なくとも半分であるので、true
およびfalse
の非常に一般的な置換である。
[This](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators#Comma_operator)は、 – hindmost