Un oggetto è una valore composto, che aggrega molteplici valori: primitivi, collezioni o altro. Un oggetto in JavaScript può essere definito in 3 modi:
- Definizione literal.
- Instanziazione di classi.
- Creazione a partire da un prototipo.
-
proprietà e metodi
-
definizione di oggetti
-
accedere alle proprietà degli oggetti
-
accedere ai metodi degli oggetti
-
creare un oggetto
- chiavi senza quote
-
accedere ai valori di un oggetto
-
aggiungere valori ad un oggetto
- aggiungere chiavi con dot notation
-
combinare array e oggetti
-
esplorare gli oggetti in console
E' una definizione di proprietà di tipo chiave:valore.
a={
x:1,
y:[1,2,3,4,5],
z:function(a){return a}
}
Altra maniera per definire un oggetto è instanziando una classe di un tipo di oggetto pre-definito in JavaScript o con una propria definizione di classe.
a=new Object()
b=new String('asdf')
Le variabili di un oggetto si possono accedere come se fossero array associativi:
a={x:1,y:2}
console.log(a.x)
console.log(a['x'])
Costruisce un nuovo oggetto a partire da un prototipo stabilito.
function A(){
this.f=function(){return 'asdf'}
}
a=new A()
b=Object.create(a)
console.log(b.f())
Object.keys
Ritorna un array di nomi delle proprietà enumerabili di un oggetto.
function A(){
this.x=1
this.y=2
}
console.log(Object.keys(new A()))
La classe Object, possiede vari metodi:
toString()
Ritorna la rappresentazione in stringa di un oggetto.
valueOf()
Ritorna la forma primitiva di un oggetto.
function Quadrato(lato) {
return {
lato,
area(){
console.log(lato * lato);
}
}
}
const quadrato1 = Quadrato(10);
console.log(quadrato1);
const quadrato2 = Quadrato(15);
console.log(quadrato2);
function Quadrato(lato) {
this.lato = lato;
this.area = function(){
console.log(lato * lato);
}
}
}
const quadrato1 = new Quadrato(10);
console.log(quadrato1);
const quadrato2 = new Quadrato(15);
console.log(quadrato2);
const auto = {
marca: 'fiat',
modello: '500',
get librettoAuto(){
return `${auto.marca} ${auto.modello}`;
},
set librettoAuto(valore){
const splitta = valore.split('-');
this.marca = splitta[0];
this.modello = splitta[1];
},
}
auto.librettoAuto = 'ferrari-testarossa';
console.log(auto);
var mieiSkill=["Coding","Running","Reading"];
var myObject = {
name: 'Peppino',
type: 'Coder',
skill :mieiSkill
};