Heim > Web-Frontend > js-Tutorial > Hauptteil

Flexible Verwendung des logischen UND (&&) und ODER (||) in JavaScript

DDD
Freigeben: 2024-09-26 07:16:42
Original
931 Leute haben es durchsucht

Flexible Uses of the Logical AND (&&) and OR (||) in JavaScript

Einführung

Boolesche Werte sind absolut, wahr oder falsch. Das ist so eindeutig wie es nur geht. Andere Datentypen in JavaScript verfügen ebenfalls über diese inhärenten Werte von „true“ und „false“, aber das ist nicht so offensichtlich, weil sie wie 32, null, 0 und „Hallo“ anstelle von „true“ und „false“ aussehen. Da wir wissen, dass alle Werte diese inhärenten Werte haben, können wir Operationen an allen Datentypen durchführen, die normalerweise für Boolesche Werte verwendet werden. Dies bietet uns mehr Kreativität und Flexibilität beim Codieren.

Wahre und falsche Werte verstehen

Bei der Arbeit mit Kontrollflussschlüsselwörtern wie if und logischen Operatoren wie AND (&&) und OR (||) verwenden wir Boolesche Werte, um bestimmte Ergebnisse zu erzielen. Diese Booleschen Werte können explizit mit wahr oder falsch verwendet werden, wir generieren sie jedoch häufig mit Vergleichsoperatoren wie ===, < und >.

Was passiert, wenn wir keinen Booleschen Wert mit Kontrollfluss oder logischen Operatoren verwenden? Nun, Sie haben Glück! Alle Werte sind von Natur aus wahr oder falsch, um dabei zu helfen. Wir können alle Werte in zwei Kategorien einteilen: wahr oder falsch.

Wenn Sie herausfinden möchten, ob ein Wert wahr oder falsch ist, ist es am besten, sich die falschen Werte zu merken, da es nur eine begrenzte Anzahl davon gibt:

  • false (ein boolescher Wert)
  • null
  • undefiniert
  • NaN (keine Zahl)
  • 0 (ein Zahlenwert)
  • „“ (der leere Zeichenfolgenwert)

Alles andere ist Wahrheit. Wenn Sie sich nicht sicher sind, ob etwas wahr oder falsch ist, oder Sie auf eine einzigartige Situation stoßen, die mehrdeutig erscheint, können Sie jederzeit eine if-Anweisung erstellen, um zu sehen, ob der Code im folgenden Codeblock ausgeführt wird.

if (23) { console.log(“truthy”); } // Prints “truthy”
else { console.log(“falsy”); }

if (null) { console.log(“truthy”); } 
else { console.log(“falsy”); } // Prints “falsy”
Nach dem Login kopieren

Logisches UND (&&)

Bei der Verwendung von Booleschen Werten mit dem logischen UND (&&) müssen beide Werte wahr sein, damit der logische Operator „wahr“ zurückgibt. Andernfalls wird, wenn mindestens ein Wert falsch ist, false zurückgegeben.

console.log(false && false); // false
console.log(true && false); // false
console.log(true && true); // true
Nach dem Login kopieren

Das Verständnis der Mechanik des logischen UND-Operators (&&) kann Ihnen helfen, wenn es um wahre und falsche Werte geht. Wenn der Wert auf der linken Seite falsch ist, geben Sie ihn zurück; Andernfalls geben Sie den Wert rechts zurück.

console.log(0 && 1); // 0
console.log("a" && ""); // "" (an empty string)
console.log([] && [1, 2, 3]); // [1, 2, 3]
Nach dem Login kopieren

Der logische UND-Operator (&&) möchte einen falschen Wert zurückgeben und gibt nur dann den wahren Wert auf der rechten Seite zurück, wenn beide wahr sind. Sie können sich die beiden Argumente so vorstellen:

(Linke Seite) Verwenden Sie mich nur, wenn ich einen falschen Wert habe. && (rechte Seite) Andernfalls verwenden Sie mich.

Logisches ODER (||)

Bei der Verwendung von Booleschen Werten mit dem logischen ODER (||) müssen beide Werte falsch sein, damit der logische Operator „false“ zurückgibt. Andernfalls wird „true“ zurückgegeben, wenn mindestens ein Wert wahr ist.

console.log(false || false); // false
console.log(true || false); // true
console.log(true || true); // true
Nach dem Login kopieren

So funktioniert der logische ODER-Operator (||): Wenn der Wert auf der linken Seite wahr ist, geben Sie ihn zurück; Andernfalls geben Sie den Wert rechts zurück.

console.log(1 || 0); // 1
console.log("" || "a"); // "a"
console.log(undefined || null); // null
console.log([] || [1, 2, 3]); // []
Nach dem Login kopieren

Der logische ODER-Operator (||) möchte einen wahren Wert zurückgeben und gibt den falschen Wert auf der rechten Seite nur zurück, wenn beide falsch sind. Sie können sich die beiden Argumente so vorstellen:

(Linke Seite) Benutzen Sie mich nur, wenn ich ein wahrer Wert bin. || (Rechte Seite) Ansonsten benutzen Sie mich.

Kreative Verwendung von AND (&&) und OR (||)

Verwenden eines Standardwerts beim Erwarten einer Eingabe

Angenommen, Sie erstellen ein Objekt, das eine Person darstellt, das über Eigenschaften verfügt, die die Person beschreiben, sowie über eine Funktion, die andere mithilfe der anderen Eigenschaften im Objekt begrüßt.

function Person(name) {
    // If name is undefined, this.name will 
    // default to 'a person with no name'
    this.name = name || 'a person with no name';
    this.greet = function() {
        console.log('Hello, I am ' + this.name + '.');
    };
}

// Create Person variables
var tyler = new Person('Tyler');
var mystery = new Person(); 
// Without an input, this.name defaults to the 
// second option since name is undefined.

// Call greet() from each Person object
tyler.greet(); // "Hello, I am Tyler."
mystery.greet(); // "Hello, I am a person with no name."
Nach dem Login kopieren

Im obigen Beispiel haben wir eine Eingabe für den Namensparameter erwartet, daher wird der zweite Wert in der ODER-Operation (||) nur verwendet, wenn der Name undefiniert ist (kein Argument beim Funktionsaufruf).

Erfordert mehrere Eingaben

Wenn Sie Objekte erstellen und sicherstellen möchten, dass Sie über eine festgelegte Anzahl von Eingaben verfügen, bevor Sie das Objekt erstellen, können Sie logische UND-Operatoren (&&) über jeden erforderlichen Parameter hinweg verketten.

function Person(firstName, lastName, age) {
  if (firstName && lastName && age) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.fullName = `${this.firstName} ${this.lastName}`;
    this.age = age;
    this.greet = function() {
      console.log(`Hello, my name is ${this.fullName} and I'm ${this.age} years old.`);
    };
  } 

  // If any argument is missing, the object will only have this property.
  else {
    this.greet = function() {
      console.log(`Hello, I am not a fully formed Person.`)
    };
  }
}

var tyler = new Person('Tyler', 'Meyer', 32);
var brad = new Person('Brad', '', 38);

tyler.greet(); // "Hello, my name is Tyler Meyer and I'm 32 years old."
brad.greet(); // "Hello, I am not a fully formed Person."
Nach dem Login kopieren

Die if-Anweisung prüft, ob für jeden Parameter ein Argument vorhanden ist, bevor sie das vollständige Person-Objekt erstellt. Wenn auch nur ein Argument ein falscher Wert ist, wird stattdessen ein Objekt mit der else-Anweisung erstellt. Daher können wir unvollständige Objekte verhindern oder Standardobjekte für unvollständige Einträge erstellen.

Abschluss

Wenn Sie einen Standardwert benötigen, bis ein Wert bereitgestellt wird, kann der logische ODER-Operator (||) sehr hilfreich sein. Wenn Sie mehrere Werte benötigen, bevor Sie fortfahren, kann der logische UND-Operator (&&) sehr hilfreich sein. Dies sind nur zwei Beispiele, und wenn Sie sich weiter mit diesen Operatoren befassen, werden Sie feststellen, dass es neben der üblichen Prüfung auf wahre oder falsche boolesche Werte noch viele weitere Möglichkeiten gibt, diese Operatoren zu verwenden. Beachten Sie diese beiden Dinge, wenn Sie die Verwendung des logischen UND (&&) und ODER (||) in Betracht ziehen:

  • ODER (||) : Verwenden Sie den Wert auf der linken Seite nur, wenn er wahr ist.
  • AND (&&): Verwenden Sie den Wert auf der linken Seite nur, wenn er falsch ist.

Wenn Sie Fragen haben, hinterlassen Sie diese bitte in den Kommentaren. Gerne bespreche ich dieses Thema weiter.

Viel Spaß beim Codieren!

Das obige ist der detaillierte Inhalt vonFlexible Verwendung des logischen UND (&&) und ODER (||) 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage