Oggetti JavaScript
Oggetti, proprietà e metodi della vita reale
Nella vita reale, un'auto è un oggetto .
Un'auto ha proprietà come peso e colore e metodi come start e stop:
Oggetto | Proprietà | Metodi |
---|---|---|
car.name = Fiat car.model = 500 car.weight = 850 kg car.color = bianco |
car.start() car.drive() car.brake() car.stop() |
Tutte le auto hanno le stesse proprietà , ma i valori delle proprietà differiscono da auto a auto.
Tutte le auto hanno gli stessi metodi , ma i metodi vengono eseguiti in momenti diversi .
Oggetti JavaScript
Hai già appreso che le variabili JavaScript sono contenitori di valori di dati.
Questo codice assegna un valore semplice (Fiat) ad una variabile denominata auto:
let car = "Fiat";
Anche gli oggetti sono variabili. Ma gli oggetti possono contenere molti valori.
Questo codice assegna molti valori (Fiat, 500, bianco) ad una variabile denominata auto:
const car = {type:"Fiat", model:"500", color:"white"};
I valori vengono scritti come coppie nome:valore (nome e valore separati da due punti).
È pratica comune dichiarare oggetti con la parola chiave const .
Ulteriori informazioni sull'utilizzo di const con gli oggetti nel capitolo: JS Const .
Definizione dell'oggetto
Definisci (e crei) un oggetto JavaScript con un oggetto letterale:
Esempio
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Gli spazi e le interruzioni di riga non sono importanti. Una definizione di oggetto può estendersi su più righe:
Esempio
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
Proprietà dell'oggetto
Le coppie nome:valori negli oggetti JavaScript sono chiamate proprietà :
Proprietà | Valore della proprietà |
---|---|
nome di battesimo | John |
cognome | Dai |
età | 50 |
colore degli occhi | blu |
Accesso alle proprietà dell'oggetto
È possibile accedere alle proprietà dell'oggetto in due modi:
objectName.propertyName
o
objectName["propertyName"]
Esempio 1
person.lastName;
Esempio2
person["lastName"];
Gli oggetti JavaScript sono contenitori per valori denominati chiamati proprietà.
Metodi dell'oggetto
Gli oggetti possono anche avere metodi .
I metodi sono azioni che possono essere eseguite sugli oggetti.
I metodi sono memorizzati nelle proprietà come definizioni di funzione .
Proprietà | Valore della proprietà |
---|---|
nome di battesimo | John |
cognome | Dai |
età | 50 |
colore degli occhi | blu |
nome e cognome | function() {restituire this.firstName + " " + this.lastName;} |
Un metodo è una funzione archiviata come proprietà.
Esempio
const person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
La parola chiave questa
In una definizione di funzione, this
si riferisce al "proprietario" della funzione.
Nell'esempio sopra, this
è l' oggetto persona che "possiede" la
fullName
funzione.
In altre parole, this.firstName
significa la firstName
proprietà di questo oggetto .
Leggi di più sulla this
parola chiave in JS this Keyword .
Accesso ai metodi oggetto
Si accede a un metodo oggetto con la seguente sintassi:
objectName.methodName()
Esempio
name = person.fullName();
Se accedi a un metodo senza le parentesi (), restituirà la definizione della funzione :
Esempio
name = person.fullName;
Non dichiarare stringhe, numeri e booleani come oggetti!
Quando una variabile JavaScript viene dichiarata con la parola chiave " new
", la variabile viene creata come oggetto:
x = new String(); // Declares x as a String object
y = new Number(); // Declares y as a Number object
z = new Boolean(); // Declares z as a Boolean object
Evita String
, Number
, e Boolean
oggetti. Complicano il codice e rallentano la velocità di esecuzione.
Imparerai di più sugli oggetti più avanti in questo tutorial.