In altre parole, questi due diversi blocchi di codice sono completamente equivalenti?La classe ES6 è completamente equivalente all'estensione basata su Object.assign di un oggetto?
ES6 classe estendere basa
class Child extends Parent {
// Define my subclass
}
var myInstance = new Child();
Object.assign basato
var myInstance = Object.assign(new Parent(), {
// Define my subclass
}
Nel mio particolare caso d'uso che sto cercando di estendere (di Facebook) Flux Dispatcher. Nei loro esempi usano Object.assign. Vorrei estendere la classe ES6, ma sono preoccupato che ci siano sottili differenze tra i due, quindi dovrei attenermi a Object.assign.
Ci sono delle differenze, ma la domanda è se l'affetto. Per esempio. nel primo caso si ha 'myInstance instanceOf Child === true', che ovviamente non è il caso nel secondo esempio. –
Immagino che intenda questo esempio di dispatcher: https://github.com/facebook/flux/blob/master/docs/TodoList.md –
Sì, questo è il codice di esempio che stavo guardando. – misterwilliam