Ich habe eine Frage.Warum Mozilla Object.assign Polyfill in eine anonyme Funktion setzen?
In der Polyfill Abschnitt von MDN page for Object.assign Funktion.
Die technischen Redakteure in Mozilla legte eine polyfill von Object.assign
in einer anonymen Funktion:
if (typeof Object.assign != 'function') {
(function() {
Object.assign = function (target) {
...
};
})(); // <-- anonymous function call
}
Was anders ist, wenn wir nur Object.assign = function (target) {
direkt im if
hier ohne die anonyme Funktion Erklärung setzen?
Warum sollten sie das tun?
MDN ist wie ein [offenes Wiki] (https://developer.mozilla.org/en-US/docs/MDN/About), [dies] (https://developer.mozilla.org/en-US)/docs/Web/JavaScript/Referenz/Global_Objects/Object/assign $ compare? to = 976783 & from = 975633) ist das diff für diese Änderung, da die anonyme Funktion nichts anderes als die Zuweisung tut, denke ich, dass Sie es sicher loswerden können –
Ich bin nur neugierig, warum sie es tun würden: Ich möchte wissen, ob es eine neue Gewohnheit von JS-Entwicklern ist, die alles in eine anonyme Funktion stellen wollten, nur um es eigenständiger zu machen oder nicht: D –
Nun, das war das Muster, das Entwickler verwendeten, um den globalen Ausführungskontext nicht zu verschmutzen, aber jetzt können wir Code in ihren eigenen Dateien isolieren und benötigen sie nur wann immer wir wollen, Bündler machen den größten Teil der Arbeit jetzt –