Heim > Web-Frontend > js-Tutorial > Der „||'-Operator von JavaScript: Wie unterscheidet er sich von einem standardmäßigen logischen ODER?

Der „||'-Operator von JavaScript: Wie unterscheidet er sich von einem standardmäßigen logischen ODER?

Susan Sarandon
Freigeben: 2024-12-25 14:33:10
Original
705 Leute haben es durchsucht

JavaScript's `||` Operator:  How Does it Differ from a Standard Logical OR?

Logischer ODER-Operator (||) vs. JavaScript-Variante

Den Double-Pipe-Operator (||) verstehen

In den meisten Programmiersprachen stellt der Doppelpipe-Operator (||) den logischen ODER-Operator dar. Es wertet zwei boolesche Werte aus und folgt diesen Regeln:

  • Wenn der erste Wert falsch ist, prüft es den zweiten Wert. Wenn „true“, wird „true“ zurückgegeben; andernfalls falsch.
  • Wenn der erste Wert wahr ist, wird unabhängig vom zweiten Wert wahr zurückgegeben.

JavaScript-Interpretation

Allerdings , JavaScript behandelt || anders, weil es eine locker typisierte Sprache ist. Das bedeutet:

  • Nicht-Boolesche Werte: JavaScript ermöglicht die Verwendung von || mit nicht-booleschen Werten. Wenn der Wert falsch ist (z. B. 0, „“, null), wird er als falsch behandelt. andernfalls als wahr.
  • Ergebnisänderung: JavaScripts || Der Operator gibt den zweiten Wert zurück, wenn der erste Wert falsch ist; andernfalls wird der erste Wert zurückgegeben.

Beispiel:

(function(){}) || {}  // True (empty function is truthy)
Nach dem Login kopieren

Praktische Verwendung in JavaScript

Standardfunktion Parameter:

function (title, msg) {
  var title = title || 'Error';  // Assigns 'Error' if title is falsy
  var msg = msg || 'Error on Request';  // Assigns 'Error on Request' if msg is falsy
}
Nach dem Login kopieren

Schlechte Programmierpraxis:

Zuweisen || Von der direkten Verwendung von Ausdrücken in Variablen wird abgeraten, da dadurch die Übergabe falscher Werte als Parameter verhindert wird. Betrachten Sie diese Funktion:

function badFunction(flagA) {
  flagA = flagA || true;  // FlagA always becomes true, even if passed false
}
Nach dem Login kopieren

Bessere Vorgehensweise:

Verwenden Sie stattdessen explizite Prüfungen auf Falschheit:

function goodFunction(flagA) {
  flagA = typeof flagA !== "undefined" ? flagA : true;  // Sets to true only if undefined
}
Nach dem Login kopieren

ES6-Syntax für Standard Parameter:

function goodFunction(flagA = true) {  // Sets to true only if omitted
}
Nach dem Login kopieren

Fazit:

JavaScript's || Der Operator weist im Vergleich zu anderen Sprachen ein einzigartiges Verhalten auf. Es ist zwar praktisch zum Festlegen von Standardwerten, sollte jedoch mit Vorsicht verwendet werden, um unerwartete Ergebnisse und falsche Wertüberschreibungen zu vermeiden.

Das obige ist der detaillierte Inhalt vonDer „||'-Operator von JavaScript: Wie unterscheidet er sich von einem standardmäßigen logischen ODER?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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