Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Utilizzo di Oggetti Parametro | Padronanza delle Classi e dell'Ereditarietà in JavaScript
Padronanza Avanzata di JavaScript

bookUtilizzo di Oggetti Parametro

Quando le classi richiedono più dati per inizializzare un oggetto, gestire diversi parametri individuali può diventare rapidamente complesso e soggetto a errori.

Utilizzo di un singolo oggetto come parametro

Quando si creano oggetti complessi, passare più parametri al costruttore di una classe può risultare ingombrante e soggetto a errori. Una soluzione ordinata consiste nell'utilizzare un oggetto parametro, in cui si passa un unico oggetto contenente tutte le proprietà necessarie. Questo approccio mantiene il codice organizzato e riduce il rischio di errori, soprattutto quando il numero di parametri aumenta.

Pensalo come effettuare un ordine per un'auto personalizzata. Invece di comunicare al produttore ogni dettaglio - come il colore, il tipo di motore, il materiale degli interni e altre caratteristiche - uno alla volta, si fornisce una scheda tecnica (un oggetto) che contiene tutti questi dettagli insieme. È più efficiente e meno soggetto a errori.

Invece di definire più parametri nel constructor, si accetta un unico oggetto che contiene tutti i dati necessari per l'inizializzazione.

12345678910111213141516171819202122
class Animal { constructor({ name, type, age, diet }) { this.name = name; this.type = type; this.age = age; this.diet = diet; } // Method to describe the animal getInfo() { return `${this.name} is a ${this.age}-year-old ${this.type} animal that follows a ${this.diet} diet.`; } } const lion = new Animal({ name: 'Lion', type: 'Wild', age: 12, diet: 'Carnivore', }); console.log(lion.getInfo()); // Output: Lion is a 12-year-old Wild animal that follows a Carnivore diet.
copy

In questo esempio, invece di passare name, type, age e diet come parametri separati, si passa un singolo oggetto al constructor. Questo metodo rende la classe più facile da gestire, soprattutto quando il numero di proprietà aumenta.

Vantaggi dell'utilizzo di un oggetto parametro

1. Leggibilità e chiarezza

Passare un oggetto rende la chiamata della funzione più leggibile. È possibile vedere immediatamente a quali proprietà corrispondono i valori senza dover fare affidamento sull'ordine dei parametri.

const pig = new Animal({
  name: 'Pig',
  type: 'Domestic',
  age: 18,
  diet: 'Omnivore',
});

Rispetto a:

const pig = new Animal('Pig', 'Domestic', 18, 'Omnivore');

Quando si passano più valori nel secondo esempio, non è immediatamente chiaro a quali proprietà corrispondano i valori senza consultare la definizione del constructor. L'approccio con oggetto parametro migliora la chiarezza.

2. Flessibilità

Utilizzare un oggetto parametro consente di omettere alcune proprietà o aggiungerne di nuove senza modificare la firma della funzione. Questo rende il costruttore più adattabile, soprattutto quando è necessario gestire parametri opzionali.

const racoon = new Animal({
  name: 'Raccoon',
  age: 2,
});

In questo caso, vengono passati solo name e age senza type o diet. Se queste proprietà sono opzionali nella tua classe, puoi gestirle facilmente assegnando valori predefiniti o lasciandole non definite.

1. Quale delle seguenti opzioni dimostra correttamente l'utilizzo di un oggetto parametro in un constructor?

2. Data la seguente definizione di classe, come si può istanziare un nuovo oggetto Animal chiamato rabbit utilizzando solo name e age tramite un oggetto parametro?

question mark

Quale delle seguenti opzioni dimostra correttamente l'utilizzo di un oggetto parametro in un constructor?

Select the correct answer

question mark

Data la seguente definizione di classe, come si può istanziare un nuovo oggetto Animal chiamato rabbit utilizzando solo name e age tramite un oggetto parametro?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 6

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 2.22

bookUtilizzo di Oggetti Parametro

Scorri per mostrare il menu

Quando le classi richiedono più dati per inizializzare un oggetto, gestire diversi parametri individuali può diventare rapidamente complesso e soggetto a errori.

Utilizzo di un singolo oggetto come parametro

Quando si creano oggetti complessi, passare più parametri al costruttore di una classe può risultare ingombrante e soggetto a errori. Una soluzione ordinata consiste nell'utilizzare un oggetto parametro, in cui si passa un unico oggetto contenente tutte le proprietà necessarie. Questo approccio mantiene il codice organizzato e riduce il rischio di errori, soprattutto quando il numero di parametri aumenta.

Pensalo come effettuare un ordine per un'auto personalizzata. Invece di comunicare al produttore ogni dettaglio - come il colore, il tipo di motore, il materiale degli interni e altre caratteristiche - uno alla volta, si fornisce una scheda tecnica (un oggetto) che contiene tutti questi dettagli insieme. È più efficiente e meno soggetto a errori.

Invece di definire più parametri nel constructor, si accetta un unico oggetto che contiene tutti i dati necessari per l'inizializzazione.

12345678910111213141516171819202122
class Animal { constructor({ name, type, age, diet }) { this.name = name; this.type = type; this.age = age; this.diet = diet; } // Method to describe the animal getInfo() { return `${this.name} is a ${this.age}-year-old ${this.type} animal that follows a ${this.diet} diet.`; } } const lion = new Animal({ name: 'Lion', type: 'Wild', age: 12, diet: 'Carnivore', }); console.log(lion.getInfo()); // Output: Lion is a 12-year-old Wild animal that follows a Carnivore diet.
copy

In questo esempio, invece di passare name, type, age e diet come parametri separati, si passa un singolo oggetto al constructor. Questo metodo rende la classe più facile da gestire, soprattutto quando il numero di proprietà aumenta.

Vantaggi dell'utilizzo di un oggetto parametro

1. Leggibilità e chiarezza

Passare un oggetto rende la chiamata della funzione più leggibile. È possibile vedere immediatamente a quali proprietà corrispondono i valori senza dover fare affidamento sull'ordine dei parametri.

const pig = new Animal({
  name: 'Pig',
  type: 'Domestic',
  age: 18,
  diet: 'Omnivore',
});

Rispetto a:

const pig = new Animal('Pig', 'Domestic', 18, 'Omnivore');

Quando si passano più valori nel secondo esempio, non è immediatamente chiaro a quali proprietà corrispondano i valori senza consultare la definizione del constructor. L'approccio con oggetto parametro migliora la chiarezza.

2. Flessibilità

Utilizzare un oggetto parametro consente di omettere alcune proprietà o aggiungerne di nuove senza modificare la firma della funzione. Questo rende il costruttore più adattabile, soprattutto quando è necessario gestire parametri opzionali.

const racoon = new Animal({
  name: 'Raccoon',
  age: 2,
});

In questo caso, vengono passati solo name e age senza type o diet. Se queste proprietà sono opzionali nella tua classe, puoi gestirle facilmente assegnando valori predefiniti o lasciandole non definite.

1. Quale delle seguenti opzioni dimostra correttamente l'utilizzo di un oggetto parametro in un constructor?

2. Data la seguente definizione di classe, come si può istanziare un nuovo oggetto Animal chiamato rabbit utilizzando solo name e age tramite un oggetto parametro?

question mark

Quale delle seguenti opzioni dimostra correttamente l'utilizzo di un oggetto parametro in un constructor?

Select the correct answer

question mark

Data la seguente definizione di classe, come si può istanziare un nuovo oggetto Animal chiamato rabbit utilizzando solo name e age tramite un oggetto parametro?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 6
some-alt