Menu
Coddy logo textTech

Verificare se una chiave esiste

Fa parte della sezione Logica e flusso del percorso JavaScript di Coddy. Lezione 16 di 65.

Per verificare la presenza di una chiave specifica in un oggetto JSON, usa l’operatore in oppure hasOwnProperty(). Per esempio:

const product = { "name": "Laptop", "price": 900 };
if ("price" in product) {
  console.log("Key exists!");
}

if (product.hasOwnProperty("price")) {
  console.log("Key exists!");
}

È utile quando si verifica se determinati dati sono presenti prima di elaborarli.

obj.hasOwnProperty("key") restituirà false se obj non ha key come proprietà propria. Tuttavia, obj.key === undefined non significa necessariamente che hasOwnProperty("key") restituirà false. Ci sono due casi in cui obj.key è undefined:

  • La proprietà non esiste affatto → hasOwnProperty("key") restituisce false.
  • La proprietà esiste ma ha valore undefined → hasOwnProperty("key") restituisce true.

Per esempio:

const obj1 = {};  
console.log(obj1.key); // undefined
console.log(obj1.hasOwnProperty("key"));
// false

const obj2 = { key: undefined };
console.log(obj2.key); // undefined
console.log(obj2.hasOwnProperty("key"));
// true
challenge icon

Sfida

Facile

Crea una funzione chiamata toggleBookStatus che accetta un oggetto libro come parametro. La funzione deve:

  1. Se il libro ha una proprietà isRead che è true, cambiala in false
  2. Se il libro ha una proprietà isRead che è false, cambiala in true
  3. Se il libro non ha una proprietà isRead, aggiungila e impostala su true
  4. Restituisci l’oggetto libro modificato

Provalo tu

function toggleBookStatus(book) {
    // Scrivi il tuo codice qui
}
// Non scrivere nulla al di fuori della funzione
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore JavaScript online