2016-08-23 2 views
0

Beispiel:Warum begnügt sich Closure-Compiler! 0 anstelle von true?

var formatDate = function(d) { 
    return dateFormat(d, "yyyy-mm-dd HH:MM:ss", true); 
} 

Ist zu zusammengestellt:

var formatDate = function(a) { 
    return dateFormat(a, "yyyy-mm-dd HH:MM:ss", !0); 
}; 

0 fühlt sich an wie eine logische Operation an Ort und Stelle ein Javascript primitive, die intuitiv wie es scheint teurer sein sollte. Ist das nicht der Fall? Warum nicht?

+3

Weil es zwei Zeichen kürzer ist. – Bergi

+3

Die Laufzeit kann in diesem Fall behandeln, dass "! 0" genau entspricht "wahr"; Mit anderen Worten, es ist ziemlich wahrscheinlich, dass es buchstäblich keinen Unterschied macht, wenn der Code tatsächlich ausgeführt wird, und davor werden 2 Zeichen gespeichert. – Pointy

Antwort

1

Gzip Kompression wurde gefunden, um besser zu sein. Closure-Compiler verwendet Heuristiken, um zu versuchen, eine Datei zu erzeugen, die auf die kleinstmögliche Größe gzip wird.

Hinweis: In einigen Fällen wird dadurch die nicht gzipierte Datei größer. In diesem speziellen Fall ist es ein Gewinn für die rohe Datei und die gzip-Version.

Verwandte Themen