Abbiamo già visto nel precedente articolo alcune delle operazioni possibili con gli oggetti ed in generale con la programmazione OOP.
document.write(x);
Questa stringa di codice, utilizzata per stampare a video, assume tutto un altro aspetto.
document(oggetto).write(metodo)(x(parmentri))
Di fatto document è un oggetto e write un metodo di document.
write, in quanto metodo, contiene una funzione predefinita a puoi poter passare dei dati/parametri.
var auto = {
marca : "Bugatti"
}
document.write(auto.marca);
In questo esempio grazie al metodo write contenuto in document stampiamo a video la proprietà marca, quindi Bugatti, contenuto nell'oggetto auto.
JavaScript ci mette quindi a disposizione una serie di diversi oggetti predefiniti che risultano molto comodi per le più comuni attività di programmazione.
var oggetto = { };
oggetto vuoto
var oggetto = { nome:"Luca, cognome:"Rossi" };
oggetto con proprietà
var oggetto = { "il_nome" : "Luca, "il_cognome" : "Rossi" };
oggetto con nomi delle proprietà che non segue le regole per i nomi delle variabili
var oggetto = new Object({ });
oggetto vuoto con sintassi alternativa*
oggetto.nome
invocare valore contenuto nella proprietà dell'oggetto
var catturaInVriabile = oggetto.nome;
memorizzare il valore di una proprietà di un oggetto in una variabile
var catturaInVriabile = oggetto["nome"];
memorizzare il valore di una proprietà, che non segue le regole per i nomi delle variabili, di un oggetto in una variabile
doucment.write(oggetto.nome);
stampare valore della proprietà di un oggetto
document.write(oggetto["il_nome"];
stampare valore della proprietà di un oggetto che non segue le regole per i nomi delle variabili
oggetto.eta=30;
creazione/aggiunta per assegnazione di una nuova proprietà inedita "eta"
oggetto["la_sua_eta"]=30;
creazione/aggiunta per assegnazione di una nuova proprietà inedita "la_sua_eta", che non rispetta le regole per i nomi delle variabili
oggetto.nome="Giovanni";
cambio/sovrascrittura valore della proprietà per assegnazione
delete oggetto.eta;
cancellare una proprietà
oggetto.nome=null; oggetto.cognome=undefined;
rendere nullo o indefinito il valore di una proprietà
var verificaEsistenza = "nome" in oggetto;
Per verificare se un oggetto possiede o meno una specifica proprietà possiamo utilizzare l'operatore "in" che accetta due argomenti operandi.
Il risultato, che verrà memorizzato nella variabile "verificaEsistenza" sarà un valore booleano, ovvero "Vero/Falso".
var oggetto = { };
oggetto.nome="Mario";
oggetto.cognome="Rossi";
var risultato;
if ("nome" in oggetto) {
risultato="Esistente";
document.write(risultato);
}else{
risultato="Inesistente";
document.write(risultato);
}
Note: il nome della proprietà è da indicare tra i doppi apici " "
L'operatore in restituisce true anche se la proprietà non è diretta ma è comunque presente nella catena di prototipi dell'oggetto
Il metodo hasOwnProperty() restituisce true solo se la proprietà appartiene direttamente all'oggetto. Mentre, l'operatore in restituisce true anche se la proprietà non è diretta ma è comunque presente nella catena di prototipi dell'oggetto.
hasOwnProperty() è un metodo dell'oggetto Object; è importate saperlo perchè quando noi creiamo un oggetto implicitamente lo stiamo utilizzando e con esso accediamo a tutti i suoi metodi
var oggetto = { };
/* E' equivalente a creare l'oggetto con la seguente scritta */
var oggetto = new Object({});
var oggeto = new Object({
nome: "Mario",
cognome: "Rossi"
});
var verificaEsistenzaNome= oggetto.hasOwnProperty("nome");
var verificaEsistenzaCognome= oggetto.hasOwnProperty("cognome");
if (oggetto.hasOwnProperty("nome")) {
....
}