Italiano (Italian)
JavaScript - Proprietà degli Oggetti
Ciao, futuri maghi di JavaScript! Oggi ci immergeremo nel magico mondo delle proprietà degli oggetti JavaScript. Come il vostro amico insegnante di scienze informatiche del quartiere, sono qui per guidarvi in questo viaggio emozionante. Allora, afferrate le vostre bacchette virtuali (tastiere) e lanciamo qualche incantesimo di codice!
Proprietà degli Oggetti JavaScript
Gli oggetti in JavaScript sono come scrigni del tesoro - custodiscono informazioni preziose sotto forma di proprietà. Ogni proprietà è una coppia chiave-valore, dove la chiave è come un'etichetta e il valore è il tesoro stesso. Creiamo il nostro primo oggetto:
let mago = {
nome: "Harry",
eta: 17,
casa: "Gryffindor"
};
Qui, abbiamo creato un oggetto mago
con tre proprietà: nome
, eta
e casa
. Ogni proprietà ha una chiave (come "nome") e un valore (come "Harry").
Accesso alle Proprietà degli Oggetti
Ora che abbiamo il nostro oggetto mago, come accediamo alle sue proprietà? Ci sono due modi per farlo:
- Notazione a Punto
- Notazione a Parentesi
Proviamo entrambi:
// Notazione a Punto
console.log(mago.nome); // Output: Harry
// Notazione a Parentesi
console.log(mago["casa"]); // Output: Gryffindor
La notazione a punto è più semplice e comune. Tuttavia, la notazione a parentesi è utile quando i nomi delle proprietà contengono spazi o caratteri speciali, o quando si utilizza una variabile per accedere alla proprietà.
let proprietà = "eta";
console.log(mago[proprietà]); // Output: 17
Accesso alle Proprietà Annidate
A volte, gli oggetti possono contenere altri oggetti. È come una magica matrioska! Espandiamo il nostro oggetto mago:
let mago = {
nome: "Harry",
eta: 17,
casa: "Gryffindor",
bastone: {
legno: "Holly",
nucleo: "Piuma di fenice",
lunghezza: 11
}
};
Per accedere alle proprietà annidate, semplicemente concateniamo le nostre notazioni a punto o a parentesi:
console.log(mago.bastone.legno); // Output: Holly
console.log(mago["bastone"]["nucleo"]); // Output: Piuma di fenice
Aggiunta o Aggiornamento delle Proprietà degli Oggetti
Gli oggetti in JavaScript sono mutabili, il che significa che possiamo cambiarli dopo la creazione. Diamo al nostro mago alcune nuove abilità:
// Aggiunta di una nuova proprietà
mago.abilità = "Quidditch";
// Aggiornamento di una proprietà esistente
mago.eta = 18;
console.log(mago.abilità); // Output: Quidditch
console.log(mago.eta); // Output: 18
Eliminazione delle Proprietà degli Oggetti
A volte, dobbiamo far scomparire le proprietà. Per questo, utilizziamo l'operatore delete
:
delete mago.casa;
console.log(mago.casa); // Output: undefined
Puff! La proprietà "casa" è scomparsa. Ricorda, utilizzare delete
rimuove solo la proprietà dall'oggetto, non influisce su eventuali variabili che potrebbero aver tenuto il valore della proprietà.
Enumerazione delle Proprietà degli Oggetti
E se volessimo vedere tutte le proprietà di un oggetto? Possiamo utilizzare un ciclo for...in
:
for (let chiave in mago) {
console.log(chiave + ": " + mago[chiave]);
}
Questo elencherà tutte le proprietà enumerabili dell'oggetto mago. Ma c'è di più! Possiamo anche utilizzare Object.keys()
, Object.values()
o Object.entries()
per ottenere array delle chiavi, dei valori o entrambi di un oggetto:
console.log(Object.keys(mago)); // Output: ["nome", "eta", "bastone", "abilità"]
console.log(Object.values(mago)); // Output: ["Harry", 18, {legno: "Holly", nucleo: "Piuma di fenice", lunghezza: 11}, "Quidditch"]
console.log(Object.entries(mago)); // Output: [["nome", "Harry"], ["eta", 18], ["bastone", {...}], ["abilità", "Quidditch"]]
Attributi delle Proprietà
Ogni proprietà in JavaScript ha determinati attributi che definiscono il suo comportamento. Questi attributi sono come i tratti di personalità della proprietà. Conosciamoli:
-
value
: Il valore della proprietà (ovviamente!) -
writable
: Possiamo cambiare il valore della proprietà? -
enumerable
: Questa proprietà dovrebbe apparire quando enumeriamo le proprietà dell'oggetto? -
configurable
: Possiamo eliminare questa proprietà o modificare i suoi attributi?
Per impostazione predefinita, tutti questi sono impostati su true
per le proprietà che creiamo normalmente. Ma possiamo cambiarli utilizzando Object.defineProperty()
:
Object.defineProperty(mago, "nome", {
writable: false,
enumerable: false
});
mago.nome = "Ron"; // Questo non funzionerà
console.log(mago.nome); // Output: Harry
for (let chiave in mago) {
console.log(chiave); // "nome" non apparirà qui
}
Ecco una tabella che riassume i metodi delle proprietà che abbiamo imparato:
Metodo | Descrizione |
---|---|
object.property |
Accede a una proprietà utilizzando la notazione a punto |
object["property"] |
Accede a una proprietà utilizzando la notazione a parentesi |
object.property = value |
Aggiunge o aggiorna una proprietà |
delete object.property |
Elimina una proprietà |
for...in |
Enumera le proprietà dell'oggetto |
Object.keys(object) |
Ottiene un array delle chiavi dell'oggetto |
Object.values(object) |
Ottiene un array dei valori dell'oggetto |
Object.entries(object) |
Ottiene un array delle coppie [chiave, valore] dell'oggetto |
Object.defineProperty() |
Definisce una nuova proprietà o modifica una proprietà esistente |
E voilà, giovani programmatori! Avete appena completato il vostro corso intensivo sulle proprietà degli oggetti JavaScript. Ricorda, la pratica rende perfetti, quindi continuate a sperimentare con questi concetti. Prima di sapere, sarete in grado di evocare oggetti complessi come veri maghi di JavaScript!
Credits: Image by storyset