zwischen der ersten Codezeile der Suche in minified und unminified JS-Datei des Bootstrap, ist es eine unmittelbare Diskrepanz:Warum konvertieren Javascript Minifier === zu ==?
// bootstrap.js
if (typeof jQuery === 'undefined') { ... }
gegen
// bootstrap.min.js
if("undefined"==typeof jQuery)...
(überzeugen Sie sich selbst: bootstrap.js und bootstrap.min.js)
Ich bin verwirrt, warum das erlaubt ist. Mein (vielleicht naives) Verständnis ist, dass ===
immer ein Leistungsgewinn ist und oft unerwartete Ergebnisse verhindert (z. B. falsche Vergleiche mit 0 oder ""
). Es scheint, dass die kleinen Zuwächse in der Dateigröße in der Leistung und dem Potenzial für fehlerhafte Ergebnisse verloren gehen. Kann jemand hier Licht geben?
'typeof' gibt immer eine Zeichenkette zurück, daher ist' === 'nicht notwendig. Der Minifier oder ein anderer Prozessor, durch den die Datei durchlaufen wurde, könnte dies erkannt haben. Es gibt kein Potenzial für ein falsches Ergebnis, und selbst wenn diese Linie häufig genug laufen würde, um einen Engpass zu verursachen, würde jeder Leistungsunterschied wegfallen. – user2357112
Jeder antwortet, ohne die Frage vollständig zu verstehen. – ndugger
@NickDugger das ist nicht wahr; Die Frage ist ziemlich klar. Der Leistungsvorteil von '===' ist nur relevant, wenn die Operanden nicht vom selben Typ sind. – Pointy