为什么 Closure Compiler 偏爱 !0 而不是 true?
Why does Closure Compiler favor !0 in lieu of true?
示例:
var formatDate = function(d) {
return dateFormat(d, "yyyy-mm-dd HH:MM:ss", true);
}
编译为:
var formatDate = function(a) {
return dateFormat(a, "yyyy-mm-dd HH:MM:ss", !0);
};
!0 感觉像是放置 Javascript 原语的逻辑操作,直觉上它应该更昂贵。不是这样吗?为什么不?
发现 Gzip 压缩效果更好。 Closure-compiler 使用启发式方法尝试生成一个将 gzip 压缩到尽可能小的文件。
注意:在某些情况下,这会使非 gzip 文件更大。在这种特定情况下,原始文件和 gzip 版本都赢了。
示例:
var formatDate = function(d) {
return dateFormat(d, "yyyy-mm-dd HH:MM:ss", true);
}
编译为:
var formatDate = function(a) {
return dateFormat(a, "yyyy-mm-dd HH:MM:ss", !0);
};
!0 感觉像是放置 Javascript 原语的逻辑操作,直觉上它应该更昂贵。不是这样吗?为什么不?
发现 Gzip 压缩效果更好。 Closure-compiler 使用启发式方法尝试生成一个将 gzip 压缩到尽可能小的文件。
注意:在某些情况下,这会使非 gzip 文件更大。在这种特定情况下,原始文件和 gzip 版本都赢了。