Heim > Web-Frontend > js-Tutorial > Nullish Coalescing Operator `??` in JavaScript

Nullish Coalescing Operator `??` in JavaScript

Barbara Streisand
Freigeben: 2024-09-19 16:31:09
Original
559 Leute haben es durchsucht

Nullish Coalescing Operator `??` in JavaScript

In diesem Blog untersuchen wir den Nullish-Coalescing-Operator ?? in JavaScript. Wir vergleichen ihn mit dem logischen ODER-Operator ||, diskutieren seinen Vorrang und stellen praktische Beispiele bereit, um Ihnen das Verständnis seiner Verwendung zu erleichtern. Lasst uns eintauchen!

Nullischer Koaleszenzoperator ??

Der nullish-Koaleszenzoperator ?? wird verwendet, um einen Standardwert bereitzustellen, wenn mit null oder undefiniert umgegangen wird. Es gibt den rechten Operanden zurück, wenn der linke Operand null oder undefiniert ist. Andernfalls wird der linke Operand zurückgegeben.

Syntax:

result = value1 ?? value2;

Nach dem Login kopieren

Beispiel:

let user = null;
let defaultUser = "Guest";

let currentUser = user ?? defaultUser;
console.log(currentUser); // Output: "Guest"

Nach dem Login kopieren

Erklärung:

  • Benutzer ist null.
  • Der ?? Operator gibt defaultUser zurück, weil user null ist.

Vergleich mit ||

Der logische ODER-Operator || gibt den ersten wahrheitsgemäßen Wert zurück, auf den er trifft. Dies bedeutet, dass der rechte Operand zurückgegeben wird, wenn der linke Operand falsch ist (false, 0, "", null, undefiniert, NaN).

Beispiel:

let user = "";
let defaultUser = "Guest";

let currentUser = user || defaultUser;
console.log(currentUser); // Output: "Guest"

Nach dem Login kopieren

Erklärung:

  • user ist eine leere Zeichenfolge "" (falsch).
  • Der 
  • || Operator gibt defaultUser zurück, weil user falsch ist.

Hauptunterschiede

  • ??: Betrachtet nur null und undefiniert als falsche Werte.
  • ||: Berücksichtigt alle falschen Werte (false0""null undefiniertNaN).

Beispiel:

let user = 0;
let defaultUser = "Guest";

let currentUser1 = user ?? defaultUser;
let currentUser2 = user || defaultUser;

console.log(currentUser1); // Output: 0
console.log(currentUser2); // Output: "Guest"

Nach dem Login kopieren

Erklärung:

  • Benutzer ist 0 (falsch für || aber nicht für ??).
  • Der 
  • ?? Operator gibt 0 zurück, weil Benutzer nicht null oder undefiniert ist.
  • Der 
  • || Operator gibt "Gast" zurück, weil Benutzer falsch ist.

Vorrang

Der nullische Koaleszenzoperator

?? hat eine niedrigere Priorität als die meisten anderen Operatoren, einschließlich des logischen ODER-Operators ||. Dies bedeutet, dass Ausdrücke mit ?? nach Ausdrücken mit ||. ausgewertet werden

Beispiel:

let a = null;
let b = false;
let c = "Hello";

let result1 = a ?? b || c;
let result2 = a || b ?? c;

console.log(result1); // Output: "Hello"
console.log(result2); // Output: "Hello"

Nach dem Login kopieren

Erklärung:

  • ein ?? b gibt false zurück, weil a null ist und b false ist.
  • falsch || c gibt "Hallo" zurück, weil false falsch ist und c wahr ist.
  • ein || b gibt false zurück, weil a null ist und b false ist.
  • falsch ?? c gibt "Hallo" zurück, weil false nicht null oder undefiniert ist.

Praxisbeispiele

Lassen Sie uns alles mit einigen praktischen Beispielen zusammenfassen:

Verwenden ?? für Standardwerte

function getUserName(user) {
  return user.name ?? "Guest";
}

let user1 = { name: "Alice" };
let user2 = { age: 25 };

console.log(getUserName(user1)); // Output: "Alice"
console.log(getUserName(user2)); // Output: "Guest"

Nach dem Login kopieren

Erklärung:

    Wenn 
  • user.name null oder undefiniert ist, gibt der ?? Operator "Gast" zurück .

Mit || für Standardwerte

function getUserName(user) {
  return user.name || "Guest";
}

let user1 = { name: "" };
let user2 = { age: 25 };

console.log(getUserName(user1)); // Output: "Guest"
console.log(getUserName(user2)); // Output: "Guest"

Nach dem Login kopieren

Erklärung:

  • Wenn Benutzername falsch ist (z. B. ""), gibt der || Operator "Gast" zurück.

Zusammenfassung

  • ?? (Nullish Coalescing Operator): Gibt den rechten Operanden zurück, wenn der linke Operand null oder undefiniert ist.
  • || (Logischer ODER-Operator): Gibt den ersten wahrheitsgemäßen Wert zurück, den er findet.
  • Vorrang: Der ?? Operator hat eine niedrigere Priorität als der || Operator.

Fazit

Der nullish-Koaleszenzoperator ?? ist ein leistungsstarkes Tool in JavaScript zur Bereitstellung von Standardwerten beim Umgang mit null oder undefiniert. Wenn Sie die Unterschiede zum logischen ODER-Operator || und seine Priorität verstehen, können Sie robusteren und fehlerfreien Code schreiben. Üben und erforschen Sie weiter, um Ihr Verständnis des Nullish-Coalescing-Operators in JavaScript zu vertiefen.

Bleiben Sie dran für ausführlichere Blogs zu JavaScript! Viel Spaß beim Codieren!

Das obige ist der detaillierte Inhalt vonNullish Coalescing Operator `??` in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage