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.
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:
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”
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
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]
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.
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
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]); // []
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.
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."
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).
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."
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.
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:
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!