Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Utilizzo di HasOwnProperty() per Verificare le Proprietà degli Oggetti | Tecniche Avanzate di Manipolazione degli Oggetti
Strutture Dati JavaScript

bookUtilizzo di HasOwnProperty() per Verificare le Proprietà degli Oggetti

Quando si itera sulle proprietà di un oggetto utilizzando il ciclo for...in, è importante distinguere tra le proprietà proprie dell'oggetto e le proprietà ereditate dal suo prototipo.

In JavaScript, alcune proprietà possono comparire durante l'iterazione anche se non sono state definite direttamente sull'oggetto. Questo accade perché gli oggetti possono ereditare proprietà da altri oggetti.

Il metodo hasOwnProperty() ci aiuta a garantire che lavoriamo solo con le proprietà che appartengono direttamente all'oggetto.

Comprendere hasOwnProperty()

Il metodo hasOwnProperty() è un metodo integrato di JavaScript che verifica se una proprietà esiste direttamente su un oggetto. Restituisce un valore booleano (true o false).

Sintassi

object.hasOwnProperty(property)
  • object: l'oggetto che si desidera verificare;
  • property: il nome della proprietà da cercare.

Perché hasOwnProperty() è utile

Considera il seguente esempio:

12345678910
const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
copy

Anche se category non è stata definita direttamente su exercise, appare comunque nel ciclo. Per questo motivo è necessario un controllo aggiuntivo.

Utilizzo di hasOwnProperty() con for...in

Combinando for...in con hasOwnProperty(), è possibile iterare in modo sicuro solo sulle proprietà proprie dell'oggetto.

12345678910111213
const exercise = { name: "Deadlift", primaryMusclesWorked: "Erector spinae", equipment: "Barbell", exerciseType: "Strength", difficulty: "Intermediate", }; for (let key in exercise) { if (exercise.hasOwnProperty(key)) { console.log(`Property: ${key}, Value: ${exercise[key]}`); } }
copy

Questo controllo garantisce che le proprietà ereditate vengano ignorate, rendendo il codice più prevedibile e sicuro.

1. Qual è lo scopo principale del metodo hasOwnProperty()?

2. Che tipo di valore restituisce il metodo hasOwnProperty()?

3. Quando si utilizza hasOwnProperty() con il ciclo for...in, perché è importante controllare le proprietà proprie?

4. Nel codice seguente, cosa verrà stampato durante l'iterazione delle proprietà dell'oggetto video?

question mark

Qual è lo scopo principale del metodo hasOwnProperty()?

Select the correct answer

question mark

Che tipo di valore restituisce il metodo hasOwnProperty()?

Select the correct answer

question mark

Quando si utilizza hasOwnProperty() con il ciclo for...in, perché è importante controllare le proprietà proprie?

Select the correct answer

question mark

Nel codice seguente, cosa verrà stampato durante l'iterazione delle proprietà dell'oggetto video?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 3

Chieda ad AI

expand

Chieda ad AI

ChatGPT

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

bookUtilizzo di HasOwnProperty() per Verificare le Proprietà degli Oggetti

Scorri per mostrare il menu

Quando si itera sulle proprietà di un oggetto utilizzando il ciclo for...in, è importante distinguere tra le proprietà proprie dell'oggetto e le proprietà ereditate dal suo prototipo.

In JavaScript, alcune proprietà possono comparire durante l'iterazione anche se non sono state definite direttamente sull'oggetto. Questo accade perché gli oggetti possono ereditare proprietà da altri oggetti.

Il metodo hasOwnProperty() ci aiuta a garantire che lavoriamo solo con le proprietà che appartengono direttamente all'oggetto.

Comprendere hasOwnProperty()

Il metodo hasOwnProperty() è un metodo integrato di JavaScript che verifica se una proprietà esiste direttamente su un oggetto. Restituisce un valore booleano (true o false).

Sintassi

object.hasOwnProperty(property)
  • object: l'oggetto che si desidera verificare;
  • property: il nome della proprietà da cercare.

Perché hasOwnProperty() è utile

Considera il seguente esempio:

12345678910
const baseExercise = { category: "Strength", }; const exercise = Object.create(baseExercise); exercise.name = "Deadlift"; for (let key in exercise) { console.log(key); }
copy

Anche se category non è stata definita direttamente su exercise, appare comunque nel ciclo. Per questo motivo è necessario un controllo aggiuntivo.

Utilizzo di hasOwnProperty() con for...in

Combinando for...in con hasOwnProperty(), è possibile iterare in modo sicuro solo sulle proprietà proprie dell'oggetto.

12345678910111213
const exercise = { name: "Deadlift", primaryMusclesWorked: "Erector spinae", equipment: "Barbell", exerciseType: "Strength", difficulty: "Intermediate", }; for (let key in exercise) { if (exercise.hasOwnProperty(key)) { console.log(`Property: ${key}, Value: ${exercise[key]}`); } }
copy

Questo controllo garantisce che le proprietà ereditate vengano ignorate, rendendo il codice più prevedibile e sicuro.

1. Qual è lo scopo principale del metodo hasOwnProperty()?

2. Che tipo di valore restituisce il metodo hasOwnProperty()?

3. Quando si utilizza hasOwnProperty() con il ciclo for...in, perché è importante controllare le proprietà proprie?

4. Nel codice seguente, cosa verrà stampato durante l'iterazione delle proprietà dell'oggetto video?

question mark

Qual è lo scopo principale del metodo hasOwnProperty()?

Select the correct answer

question mark

Che tipo di valore restituisce il metodo hasOwnProperty()?

Select the correct answer

question mark

Quando si utilizza hasOwnProperty() con il ciclo for...in, perché è importante controllare le proprietà proprie?

Select the correct answer

question mark

Nel codice seguente, cosa verrà stampato durante l'iterazione delle proprietà dell'oggetto video?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 3
some-alt