Heim >Web-Frontend >js-Tutorial >Wie können optionale Verkettung und Nullish-Koaleszenz den nullsicheren Zugriff auf Eigenschaften und die bedingte Zuweisung in JavaScript verbessern?

Wie können optionale Verkettung und Nullish-Koaleszenz den nullsicheren Zugriff auf Eigenschaften und die bedingte Zuweisung in JavaScript verbessern?

Linda Hamilton
Linda HamiltonOriginal
2024-12-03 12:51:13430Durchsuche

How Can Optional Chaining and Nullish Coalescing Improve Null-Safe Property Access and Conditional Assignment in JavaScript?

NULL-sicherer Eigenschaftszugriff und bedingte Zuweisung in EcmaScript 6

In JavaScript kann es umständlich sein, auf Eigenschaften von möglicherweise vorhandenen Objekten zuzugreifen null oder undefiniert. Darüber hinaus kann die bedingte Zuweisung von Werten zu Variablen fehleranfällige Try/Catch-Blöcke beinhalten.

Der in ES2020 eingeführte optionale Verkettungsoperator (?.) bietet eine übersichtliche Möglichkeit, auf Eigenschaften von Nullable-Objekten zuzugreifen. Es gibt undefiniert zurück, wenn die Eigenschaft nicht existiert, wodurch explizite Prüfungen überflüssig werden.

Für die bedingte Zuweisung weist der Nullish-Coalescing-Zuweisungsoperator (??=) einer Variablen nur dann einen Wert zu, wenn diese derzeit null oder ist undefiniert. Dadurch wird vermieden, dass vorhandene Werte unnötig überschrieben werden.

Beispiel:

const query = (succeed) => (succeed ? { value: 4 } : undefined);

let value = 3;
for (let x of [true, false]) {
  value = query(x)?.value ?? value;
}
console.log(value); // Output: 4

In diesem Beispiel erfolgt die Zuweisung nur, wenn query(x).value existiert, andernfalls der alte Wert bleibt erhalten. Durch die optionale Verkettung wird sichergestellt, dass beim Zugriff auf die Eigenschaft kein Fehler ausgegeben wird, wenn query(x) undefiniert ist.

Weitere Hinweise:

  • Der ??=-Operator kann nicht direkt für die bedingte Eigenschaftszuweisung verwendet werden, da der Wert immer zugewiesen wird, unabhängig von der Existenz der Eigenschaft.
  • Optionale Verkettung kann für verwendet werden Zugriff auf verschachtelte Eigenschaften, z. B. a?.b?.c, wobei a, b und c Eigenschaften von nullbaren Objekten sind.
  • Babel-preset-env kann zum Transpilieren von JavaScript-Code mit optionaler Verkettung und Nullierung verwendet werden Koaleszenzoperatoren für Kompatibilität mit älteren Umgebungen.

Das obige ist der detaillierte Inhalt vonWie können optionale Verkettung und Nullish-Koaleszenz den nullsicheren Zugriff auf Eigenschaften und die bedingte Zuweisung in JavaScript verbessern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn