Oggetti

Frontend SELF IT
Livello 36 , Lezione 0
Disponibile

6.1 Creazione di oggetti

Oggetti sono uno dei principali tipi di dati in JavaScript e vengono ampiamente utilizzati per memorizzare e gestire i dati. Un oggetto è una collezione di proprietà, dove ogni proprietà è costituita da una chiave (nome) e un valore. In questa lezione esamineremo la creazione di oggetti, così come l'accesso alle loro proprietà e metodi.

1. Oggetto letterale

Il modo più comune per creare un oggetto in JavaScript è usare un oggetto letterale.

In questo esempio abbiamo creato un oggetto person con quattro proprietà: name, age, isStudent e greet.

JavaScript
    
      let person = {
        name: 'John',
        age: 30,
        isStudent: false,
        greet: function() {
          return 'Hello!';
        }
      };
    
  

2. Costruttore Object

Gli oggetti possono anche essere creati usando il costruttore Object().

Questo metodo è equivalente alla creazione di un oggetto usando un letterale di oggetto, ma è più verboso:

JavaScript
    
      let person = new Object();
      person.name = 'John';
      person.age = 30;
      person.isStudent = false;
      person.greet = function() {
        return 'Hello!';
      };
    
  

3. Funzione costruttore

La funzione costruttore consente di creare più istanze di oggetti con le stesse proprietà e metodi.

In questo esempio, la funzione costruttore Person() viene utilizzata per creare gli oggetti john e jane con le stesse proprietà e metodi:

JavaScript
    
      function Person(name, age, isStudent) {
        this.name = name;
        this.age = age;
        this.isStudent = isStudent;
        this.greet = function() {
          return 'Hello!';
        };
      }

      let john = new Person('John', 30, false);
      let jane = new Person('Jane', 25, true);
    
  

4. Metodo Object.create()

Il metodo Object.create() crea un nuovo oggetto con il prototipo e le proprietà specificate.

In questo esempio, l'oggetto john è creato sulla base del prototipo personPrototype:

JavaScript
    
      let personPrototype = {
        greet: function() {
          return 'Hello!';
        }
      };

      let john = Object.create(personPrototype);
      john.name = 'John';
      john.age = 30;
      john.isStudent = false;
    
  

6.2 Accesso alle proprietà e ai metodi

1. Accesso tramite punto

Il modo più comune per accedere alle proprietà e ai metodi di un oggetto è attraverso il punto:

JavaScript
    
      let person = {
        name: 'John',
        age: 30,
        greet: function() {
          return 'Hello!';
        }
      };

      console.log(person.name);  // Visualizza: John
      console.log(person.age);   // Visualizza: 30
      console.log(person.greet()); // Visualizza: Hello!
    
  

2. Accesso tramite parentesi quadre

Le proprietà di un oggetto possono essere anche chiamate usando le parentesi quadre. Questo metodo è utile se il nome della proprietà è memorizzato in una variabile o contiene spazi o caratteri speciali:

JavaScript
    
      let person = {
        'first name': 'John',
        age: 30,
        greet: function() {
          return 'Hello!';
        }
      };

      console.log(person['first name']); // Visualizza: John
      console.log(person['age']);        // Visualizza: 30

      let propertyName = 'greet';
      console.log(person[propertyName]()); // Visualizza: Hello!
    
  

3. Modifica e aggiunta di proprietà

Le proprietà dell'oggetto possono essere modificate o aggiunte in qualsiasi momento:

JavaScript
    
      let person = {
        name: 'John',
        age: 30
      };

      // Modifica di una proprietà esistente
      person.age = 31;
      console.log(person.age); // Visualizza: 31

      // Aggiunta di una nuova proprietà
      person.isStudent = false;
      console.log(person.isStudent); // Visualizza: false
    
  

4. Eliminazione di proprietà

Le proprietà di un oggetto possono essere cancellate usando l'operatore delete:

JavaScript
    
      let person = {
        name: 'John',
        age: 30,
        isStudent: false
      };

      delete person.isStudent;
      console.log(person.isStudent); // Visualizza: undefined
    
  

6.3 Iterazione sulle proprietà dell'oggetto

1. Ciclo for...in

Il ciclo for...in permette di scorrere tutte le proprietà enumerabili di un oggetto:

JavaScript
    
      let person = {
        name: 'John',
        age: 30,
        isStudent: false
      };

      for (let key in person) {
        console.log(`${key}: ${person[key]}`);
      }

      // Visualizza:
      // name: John
      // age: 30
      // isStudent: false
    
  

2. Metodo Object.keys()

Il metodo Object.keys() restituisce un array di tutte le proprietà enumerabili di un oggetto:

JavaScript
    
      let person = {
        name: 'John',
        age: 30,
        isStudent: false
      };

      let keys = Object.keys(person);
      console.log(keys); // Visualizza: ['name', 'age', 'isStudent']
    
  

3. Metodo Object.values()

Il metodo Object.values() restituisce un array di valori di tutte le proprietà enumerabili di un oggetto:

JavaScript
    
      let person = {
        name: 'John',
        age: 30,
        isStudent: false
      };

      let values = Object.values(person);

      console.log(values); // Visualizza: ['John', 30, false]
    
  

4. Metodo Object.entries()

Il metodo Object.entries() restituisce un array di coppie [chiave, valore] per tutte le proprietà enumerabili di un oggetto:

JavaScript
    
      let person = {
        name: 'John',
        age: 30,
        isStudent: false
      };

      let entries = Object.entries(person);

      console.log(entries); // Visualizza: [['name', 'John'], ['age', 30], ['isStudent', false]]
    
  

6.4 Verifica delle proprietà

1. Operatore in

L'operatore in permette di verificare la presenza di una proprietà in un oggetto:

JavaScript
    
      let person = {
        name: 'John',
        age: 30
      };

      console.log('name' in person); // Visualizza: true
      console.log('isStudent' in person); // Visualizza: false
    
  

2. Metodo hasOwnProperty()

Il metodo hasOwnProperty() verifica se un oggetto ha una specifica proprietà come propria (non ereditata):

JavaScript
    
      let person = {
        name: 'John',
        age: 30
      };

      console.log(person.hasOwnProperty('name')); // Visualizza: true
      console.log(person.hasOwnProperty('isStudent')); // Visualizza: false
    
  
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION