Gli oggetti in JavaScript

In JavaScript tutto è un oggetto, anche le funzioni e gli array e possono essere creati come oggetti litterali o tramite funzioni

In JavaScript un oggetto è un contenitore di proprietà composto da un nome ed un valore. Il valore può essere un altro oggetto o un tipo primitivo: numeri, stringhe, booleani, null o undefined (i primi 3 possono essere visti come degli oggetti immutabili in quanto hanno una serie di metodi).

Il modo standard di rappresentare gli oggetti in JavaScript è costituito dalle parentesi graffe aperte e chiuse che contengono una o più proprietà:

    var myEmptyObject = {};

    var myFullObject = {
        field1: 1,
        field2: "Datrevo",
        field3: {
            field4: true
        }
    };

Per accedere alla proprietà di un oggetto si può utilizzare la dot notation:

    console.log(myFullObject.field1); // => 1

Oppure sfruttare la natura associativa degli oggetti JavaScript (bracket notation), questa proprietà metta in luce il fatto che i nomi delle proprietà di un oggetto sono convertiti in stringhe (tramite toString()) e sono utilizzate come chiave per accedere all’oggetto:

    console.log(myFullObject["field1"]); // => 1

In Java solo le Map sono array associativi.

In JavaScript anche le funzioni sono oggetti e possono essere memorizzate in una variabile ed essere passate come parametri ad altre funzioni.

Gli oggetti possono essere creati in differenti modi:

  • Oggetti litterali (più comuni):
        var myObject = {
            field1: 1
        }

  • Con una funzione costruttore (concetto introdotto per rendere familiare il concetto ai programmatori di linguaggi OO, tale concetto potrebbe però essere fuorviante in quanto in JavaScript non esiste il concetto di class):
        var MyObject = function(field1) {
            this.field1 = field1
        }
        var myObject = new MyObject(1);

Attenzione alla parola new, senza di essa si tratterebbe di un function invoncation e this punterebbe a window. Per approfondire: Il riferimento this e come invocare le funzioni in JavaScript.

Pubblicato in Front-end, JavaScript Taggato con: , , ,

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*