7
私は、Closure Compilerがtrueとfalse(または1と0)を!0と!1としてコンパイルすることに気付きました。 1と0の2倍の文字数なので、これは意味がありません。これには理由がありますか?何か利点はありますか?!0と!1は1と0よりも優れていますか?
ありがとうございました。
私は、Closure Compilerがtrueとfalse(または1と0)を!0と!1としてコンパイルすることに気付きました。 1と0の2倍の文字数なので、これは意味がありません。これには理由がありますか?何か利点はありますか?!0と!1は1と0よりも優れていますか?
ありがとうございました。
1 !== true
および0 !== false
しかし、!0 === true
および!1 === false
である。コンパイラは、型がbooleanのままであることを確認します。あなたはvar a = 1;
に最初の行を最初の条件がfalseと第二真されるだろう変更する場合
var a = true;
if(a === true) {
console.log('True!');
}
if(a === 1) {
console.log('You should never see this.');
}
:
は、この例を考えてみましょう。var a = !0;
を使用すると、スクリプトは正しく動作します。
'!0'は2文字を節約できるという利点があり、'!1'は縮小中に3を節約できるという利点があります。過度に最適化された方法ですが、マシンが最適化を行っている場合は、誰が気にしますか。 – Norguard
面白い、ありがとう! – Suffick