Capire la keyword this
Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 3 di 56.
La parola chiave this in JavaScript fa riferimento all'oggetto che sta eseguendo il codice. Ti permette di accedere alle proprietà e ai metodi dell'oggetto corrente.
Iniziamo con un oggetto di base:
let person = {
name: "John",
age: 30,
greet: function() {
console.log("Hello, my name is " + this.name);
}
};In questo esempio, quando chiamiamo il metodo greet:
person.greet();L'output sarà:
Hello, my name is JohnQui, this.name all'interno del metodo greet fa riferimento alla proprietà name dell'oggetto person.
Sfida
Aggiungi un metodo chiamato getStatus all’oggetto player che restituisca una stringa con il nome e la salute del giocatore usando la parola chiave this.
Formato dell’output previsto:"Knight has 70 health"
Provalo tu
const player = {
name: "Knight",
health: 100,
takeDamage: function(damage) {
this.health -= damage;
},
// TODO: Aggiungi qui il metodo getStatus che restituisce una stringa con il nome e la salute del giocatore
};
// Test
player.takeDamage(30);
console.log(player.getStatus()); // Dovrebbe produrre: "Knight has 70 health"Questa 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