Proprietà calcolate
Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 44 di 56.
Le proprietà calcolate sono getter che calcolano e restituiscono un valore invece di restituire semplicemente dati memorizzati. Sembrano proprietà normali, ma calcolano il proprio valore al momento.
Diamo un'occhiata all'esempio. Abbiamo un oggetto con una proprietà normale:
const circle = {
radius: 5
};Ora aggiungiamo una proprietà calcolata usando un getter:
const circle = {
radius: 5,
get diameter() {
return this.radius * 2;
}
};Ecco come accediamo alla proprietà calcolata:
console.log(circle.diameter); // Produce: 10Se aggiorniamo il raggio, anche il diametro si aggiorna automaticamente:
circle.radius = 10;
console.log(circle.diameter); // Stampa: 20Le proprietà calcolate sono utili quando il valore di una proprietà dipende da altre proprietà o richiede un calcolo.
Sfida
Ti viene fornita una classe Rectangle con proprietà width e height. Il tuo compito è aggiungere proprietà calcolate per l'area e il perimetro.
- Proprietà calcolata
<strong>area</strong>- restituisce width × height - Proprietà calcolata
<strong>perimeter</strong>- restituisce 2 × (width + height)
Provalo tu
import { Rectangle } from './rectangle.js';
// Codice di test - non modificare
const rect = new Rectangle(5, 10);
console.log(`Area: ${rect.area}`); // Dovrebbe produrre "Area: 50"
console.log(`Perimeter: ${rect.perimeter}`); // Dovrebbe produrre "Perimeter: 30"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 libro9Metodi e proprietà statici
A livello di classe o di istanzaProprietà staticheMetodi statici di utilitàSfida di riepilogo12Getter e Setter
Le parole chiave get e setProprietà calcolateValidazione ed effetti collateraliSfida di riepilogoEsercitati da solo: Compilatore JavaScript online