37
あなたがGoogleの結果ページに移動し、rwt.toString()
を実行する場合は、この関数の戻り値の呼び出しがあることがわかります:javascriptで「return!0」を使用することはありますか?
return !0;
私は、これは常にではないでしょうなぜ何らかの理由を考えることはできませんtrue
。これはちょうどtrue
の省略形ですか、それとももっと進んでいますか?
あなたがGoogleの結果ページに移動し、rwt.toString()
を実行する場合は、この関数の戻り値の呼び出しがあることがわかります:javascriptで「return!0」を使用することはありますか?
return !0;
私は、これは常にではないでしょうなぜ何らかの理由を考えることはできませんtrue
。これはちょうどtrue
の省略形ですか、それとももっと進んでいますか?
常に真ですが、ブール値true
をダウンロードするには、ダウンロードに2バイト(!0
は2文字)の代わりに4バイトがかかります。
ほとんどのJavaScriptのminifierはtrue
を!0
に、falseを!1
に変換します。 GoogleのClosure CompilerでSimpleの最適化を使用してvar y = true;
と入力すると、その例がわかります。http://closure-compiler.appspot.com/home
ただし、ダウンロードするには1バイトしかかかりません。ちょうどうまくいったでしょうか?非ゼロであり、我々は皆あなたが真であることをテストしていないことを知っている、あなたは偽でないことをテストする。 – stu
これは興味深いです。ほとんどのJavaScriptの実装では、0と!1を計算せずにtrueとfalseに最適化していますか? – Kekoa
@stu 'return 1;'は 'number'型を返します。誰かが '==='や '!=='の演算子で戻り値を使うと、 '!0'から期待される結果が得られますが、' 1'からは期待されません。 – Paulpro