Vermeiden Sie geschickt Fehler, die durch Nullwerte von JavaScript-Objekten verursacht werden
In JavaScript ist der sichere Zugriff auf Objektdaten von entscheidender Bedeutung, um sicherzustellen, dass Anwendungen auch dann ordnungsgemäß funktionieren, wenn die Daten unvollständig sind. Der Kern besteht darin, Fehler zu vermeiden, die durch Nullwerte verursacht werden.
Um diesen Artikel besser zu verstehen, müssen Sie die Konzepte wahrer und falscher Werte in JavaScript verstehen.
Beim Schreiben von Code müssen wir häufig auf Daten in Objekten zugreifen. Angenommen, wir haben ein Mitarbeiterobjekt und müssen dessen Statusinformationen abrufen.
Wenn die Statusinformation vorhanden ist, wird der Status angezeigt; wenn sie nicht vorhanden ist, wird „Praktikum“ angezeigt.
Der Beispielcode lautet wie folgt:
const pegawai = { nama: 'Alex Under', status: 'tetap', }; console.log(pegawai.nama, 'adalah pegawai', pegawai.status);
Ausgabeergebnis:
<code>Alex Under adalah pegawai tetap</code>
Jetzt reduzieren wir die Eigenschaften des Objekts:
const pegawai = { }; console.log(pegawai.nama, 'adalah pegawai', pegawai.status);
Ausgabeergebnis:
<code>undefined adalah pegawai undefined</code>
Obwohl hier kein Fehler gemeldet wird, werden die Daten als undefined
angezeigt, was nicht schön aussieht.
Um dieses Problem zu lösen, können wir die if-else
-Anweisung hinzufügen:
const pegawai = { }; if (!pegawai.nama) { pegawai.nama = 'Seorang Pegawai'; } if (!pegawai.status) { pegawai.status = 'magang'; } console.log(pegawai.nama, 'adalah pegawai', pegawai.status);
Ausgabeergebnis:
<code>Seorang Pegawai adalah pegawai magang</code>
Wir stellen einen Standardwert für die Daten bereit. Wenn die Daten nicht vorhanden sind, wird der Standardwert verwendet.
Um den Code zu vereinfachen, können Sie die folgende Methode verwenden:
const pegawai = { }; pegawai.nama = pegawai.nama || 'Seorang Pegawai'; pegawai.status = pegawai.status || 'magang'; console.log(pegawai.nama, 'adalah pegawai', pegawai.status);
Was passiert, wenn das Objekt selbst nicht existiert (als null
)?
const pegawai = null; console.log(pegawai.nama, 'adalah pegawai', pegawai.status);
Dies führt zu einem Fehler wie diesem:
<code>Uncaught TypeError: Cannot read properties of null (reading 'nama')</code>
App ist mit Fehler abgestürzt.
Um dieses Problem zu lösen, können wir die folgende Methode verwenden:
const pegawai = null; const pegawaiSafe = pegawai || {}; if (!pegawaiSafe.nama) { pegawaiSafe.nama = 'Seorang Pegawai'; } if (!pegawaiSafe.status) { pegawaiSafe.status = 'magang'; } console.log(pegawaiSafe.nama, 'adalah pegawai', pegawaiSafe.status);
Auf diese Weise wird kein Fehler gemeldet und das Ausgabeergebnis lautet:
<code>Seorang Pegawai adalah pegawai magang</code>
Ähnlich können Sie zur Vereinfachung des Codes Folgendes verwenden:
const pegawai = null; const pegawaiSafe = {}; pegawaiSafe.nama = (pegawai || {}).nama || 'Seorang Pegawai'; pegawaiSafe.status = (pegawai || {}).status || 'magang'; console.log(pegawaiSafe.nama, 'adalah pegawai', pegawaiSafe.status);
oder:
const pegawai = null; const pegawaiSafe = pegawai || {}; pegawaiSafe.nama = pegawaiSafe.nama || 'Seorang Pegawai'; pegawaiSafe.status = pegawaiSafe.status || 'magang'; console.log(pegawaiSafe.nama, 'adalah pegawai', pegawaiSafe.status);
Durch die obige Methode können wir das Problem des Objekt-Nullwerts effektiv vermeiden, insbesondere beim Umgang mit Objekten aus externen Eingaben (z. B. Benutzereingaben, Datenbanken, Dienste von Drittanbietern usw.).
Vielen Dank fürs Lesen!
Willkommen zum Diskutieren und Kommunizieren, aber auch willkommen, Freunde zu finden?
Das obige ist der detaillierte Inhalt vonSichere Möglichkeiten, auf Daten zu Objekten zuzugreifen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!