Ho visto alcuni tutorial o esempi di codice in cui lo sviluppatore utilizzava il metodo _.extend
di Underscore o il metodo _.assign
di Lodash quando sarebbe sufficiente aggiungere semplicemente la proprietà, mi ha sempre confuso, qual è il vantaggio dell'utilizzo di estendi/assegna di aggiungere semplicemente la proprietà? Ci sono molte volte in cui posso vedere i benefici dell'uso di questi metodi, quando aggiungo più proprietà da un altro oggetto, per esempio, ma molto spesso l'ho visto usato come nell'esempio qui sotto dove non vedo alcun vantaggio.Scopo di _.extend/_. Assegna?
Esiste un vantaggio di cui non sono a conoscenza per il seguente codice invece di assegnare la proprietà?
http://tech.pro/tutorial/1734/building-decoupled-javascript-applications-with-postaljs
var Weather = function() {
this.channel = postal.channel("weather");
this.channel.subscribe("fetch", this.fetch).withContext(this);
};
_.extend(Weather.prototype, {
fetch: function(city) {
$.ajax({
url: "http://openweathermap.org/data/2.1/find/name?q=" + city + "&units=imperial",
dataType: "jsonp",
success: _.bind(function(data) {
this.channel.publish("fetched", data.list[ 0 ]);
}, this)
});
}
});
Per esempio, non poteva il codice di cui sopra essere riscritta così:
Weather.prototype.fetch = function(...){...}
o c'è un negativo a questo?
Potrebbe essere solo un idioma, utilizzando lo stesso stile per aggiungere una proprietà come mu ltiple. – Barmar
Questo ha senso ed è quello che pensavo, volevo confermare che non mi stavo perdendo alcune prestazioni o benefici relativi ai bug. –
Seguirò l'idioma; '_.extend (Weather.prototype ...' si legge esattamente come si fa, _extending del prototipo dell'oggetto 'Weather'_. – Mathletics