Mentre passa attraverso la lista dei metodi di underscorejs s', non ho potuto fare a meno di notare un metodo che non mi ricordo di essere lì davanti: extendOwnunderscorejs: qual è la differenza tra extendOwn vs extend?
Il documentation for this method dice il seguente:
extendOwn _.extendOwn (destinazione, * fonti) Alias : assegnare
Come estendere, ma solo copie proprie proprietà oltre all'oggetto di destinazione.
Capisco come .extend() viene utilizzato e cosa fa ... ma per la vita di me non riesco a capire come si differenzia da .extendOwn().
Ho provato a utilizzare .extend() e quindi a .extendOwn() per estendere alcuni oggetti solo per vedere se forse c'era qualcosa di ovvio che sarebbe successo - ma sembra che entrambi producano lo stesso risultato.
var a = {
foo: false
};
var b = {
bar: true
};
// This will produce { foo: false, bar: true }; ..just like _.extend() would =\
_.extendOwn(a, b);
Qualsiasi comprensione di questo mistero sarebbe molto apprezzata!
non ho - che è una buona idea anche se grazie –
eh, così ho appena letto la fonte. La cosa divertente è che si riduce a usare _.keys vs _.allKeys - che a sua volta è diverso si usa nativeKeys e il seguente: for (var key in obj) if (_.has (obj, key)) keys. push (chiave); dove l'altro no. non so - sembra ancora un po 'un mistero per me perché extendOwn è addirittura necessario. –