Betrachtet man die Dokumentation für ES6 Object.assign und Lodash _.assign sieht es so aus, als ob diese in genau der gleichen Weise funktionieren.Object.assign vs lodash _.assign
Ist das ein richtiges Verständnis? Oder fehlt mir etwas?
Betrachtet man die Dokumentation für ES6 Object.assign und Lodash _.assign sieht es so aus, als ob diese in genau der gleichen Weise funktionieren.Object.assign vs lodash _.assign
Ist das ein richtiges Verständnis? Oder fehlt mir etwas?
Hängt vom Browser ab. Pro lodash docs:
Die _.assign verwenden die eingebaute Object.assign wenn verfügbar.
können Sie gehen hier für die Browser-Unterstützung:
Grundsätzlich IE haben keine Unterstützung so Code des lodash in diesem Fall verwendet wird
Entschuldigung, ich hätte klarer sein sollen. Ich weiß, dass einige Browser noch keine Unterstützung für Object.assign haben. Ich habe mich gefragt, ob diese Umgebungen beides bieten, gibt es einen Unterschied zwischen den beiden? – sfletche
lodash verweist auf den Browser, also nein, die native Implementierung wird in diesem Fall verwendet – JordanHendrix
ah! Es tut uns leid! Ich habe deine Antwort falsch gelesen. Ich sehe jetzt, was Sie sagen (dass lodash selbst Object.assign benutzt, wenn es verfügbar ist, was es so klingen lässt, als ob der Autor des lodash nicht beabsichtigt hätte, zwischen den beiden zu unterscheiden). sehr hilfreich. Danke @ JordanHendrix! – sfletche
Sicherlich sind sie entworfen zu tun das gleiche. Der einzige Unterschied, den ich sehen kann, ist, dass 'Object.assign' primitive Werte in Objekte konvertiert, während' _.assign' nicht (zB 'Object.assign (" hallo ", {foo: 1})') – apsillers
Der beste Weg ist ist zu studieren [ihre] (https://github.com/lodash/lodash/blob/master/vendor/underscore/underscore.js#L1036-L1060) [Quellen] (https://developer.mozilla.org/en -US/docs/Web/JavaScript/Referenz/Global_Objects/Objekt/zuweisen # Polyfill). Im Fall von lodash ist dies jedoch etwas kompliziert, da es sich von Release zu Release ändert - das [changelog] (https://github.com/lodash/lodash/wiki/Changelog) erwähnt sogar Unterschiede im Verhalten. – Bergi
danke @psillers! Das ist ein großer Unterschied, über den man Bescheid wissen sollte. Wenn Sie Lust haben, eine Antwort zu schreiben, werde ich Ihnen antworten. – sfletche