Corsi on-line

Controllo sull’eredità delle proprietà in JavaScript

In JavaScript esiste un modo per scoprire se una specifica proprietà appartiene direttamente ad una classe o se invece è stata associata ad essa per ereditarietà; la procedura necessaria si basa sul metodo denominato hasOwnProperty(), in pratica il metodo viene ereditato dalla classe principale Object e accetta quale input una stringa quale rappresentazione della proprietà che si desidera analizzare.

Facciamo un semplice esempio:

 var utente = { luogo : "Roma"};
alert( utente.hasOwnProperty("luogo") );
alert( utente.hasOwnProperty("valueOf") );
alert( utente.hasOwnProperty("cognome") );

Analizziamo ora i tre casi proposti:

  1. Primo caso: la proprietà “luogo” esiste e appartiene all’oggetto generato, per questo motivo il metodo restituisce TRUE.
  2. Secondo caso: la proprietà esiste nell’oggetto, ma il metodo restituisce FALSE in quanto si tratta di una proprietà ereditata dalla classe principale Object.
  3. Terzo caso: quando una proprietà non è presente per un oggetto, il metodo si limita a restituire FALSE.
Post correlati
I più letti del mese
Tematiche