Pattern di concatenazione dei metodi
Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 16 di 56.
Il concatenamento dei metodi è un modello di programmazione che ti consente di chiamare più metodi sullo stesso oggetto in un'unica istruzione. Ogni metodo restituisce l'oggetto stesso (this), permettendoti di chiamare il metodo successivo sulla stessa riga.
Crea un semplice oggetto contatore:
const counter = {
count: 0,
increment() {
this.count++;
return this;
},
decrement() {
this.count--;
return this;
},
getValue() {
return this.count;
}
};Ora puoi concatenare i metodi:
// Concatena più operazioni
counter.increment().increment().decrement();
// Il conteggio ora è 1
console.log(counter.getValue()); // Output: 1La chiave per concatenare i metodi è restituire this da ogni metodo che vuoi poter concatenare.
Sfida
Ti viene fornito un oggetto calcolatrice che ha già i metodi add() e subtract(). Il tuo compito è aggiungere i metodi multiply e divide che restituiscono this per consentire il concatenamento.
Provalo tu
import { calculator } from './calculator.js';
// Codice di test - non modificare
const result1 = calculator.add(10).multiply(2).getValue();
console.log(result1); // Dovrebbe produrre 20
// Reimposta per il secondo test
calculator.value = 0;
const result2 = calculator.add(20).divide(4).subtract(1).getValue();
console.log(result2); // Dovrebbe produrre 4Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Programmazione orientata agli oggetti
1Oggetti e la keyword this
Ripasso rapido: oggettiAggiungere metodi agli oggettiCapire la keyword thisFunzioni costruttriciLa keyword newSfida di ripasso7Ereditarietà e parola chiave extends
EreditarietàLa relazione «è un»La parola chiave extendsIl metodo super()Ereditare proprietà e metodiSfida di ripasso13Composizione vs. ereditarietà
«Ha-un» vs. «è-un»I limiti dell’ereditarietà profondaCostruire oggetti2Organizzare il codice
Cosa sono i moduli?Esportare con exportImportare con importExport predefiniti vs. export nominati5Incapsulamento e accesso
IncapsulamentoCampi di classe pubblici e privatiMetodi privatiSfida di riepilogo8Organizzare il codice OOP
Organizzare le classi in moduli11Progetto: Un renderizzatore di forme
Configurazione: classe Shape ed esportazioneEreditarietà della classe CircleOverride e metodo areaContatore statico di Shape14Sistema di gestione della biblioteca
Progettare la bibliotecaClasse Book con composizioneValidazione dell'autore del libroEsercitati da solo: Compilatore JavaScript online