Les mots précédents
Les opérateurs logiques effectuent des opérations booléennes sur les opérandes et sont souvent utilisées conjointement avec des opérateurs relationnels. Les opérateurs logiques combinent plusieurs expressions relationnelles dans une expression plus complexe. Les opérateurs logiques sont divisés en trois types: logique non '!', Logique et '&&', logique ou '||'. Cet article présentera ces trois opérateurs logiques.
Logique non logique
Le non-opérateur logique est représenté par une marque d'exclamation (!) Et peut être appliqué à n'importe quelle valeur dans ECMAScript. Quel que soit le type de données que cette valeur est, cet opérateur renvoie une valeur booléenne. Le non-opérateur logique convertit d'abord son opérande en valeur booléenne puis l'inverse.
Le type de conversion des opérandes logiques non paires en types booléens est le même que la fonction de transformation booléenne (), sauf que le résultat est inversé à la fin. Si deux non-opérateurs logiques sont utilisés en même temps, le comportement de la fonction de transformation booléenne () sera en fait simulé.
console.log (!! undefined); // falseconsole.log (!! null); // falseconsole.log (!! 0); // falseconsole.log (!! - 0); // falseconsole.log (!! nan); // falseconsole.log (!! ''); // falseconsole.log (!! false);
console.log (!! {}); // trueconsole.log (!! []); // trueconsole.log (!! new boolean (false)); // trueconsole.log (!! false); // falseconsole.log (!! new booléen (null)); // trueconsole.log (!! null); // false);Les non-opérateurs logiques sont souvent utilisés pour contrôler les boucles
// La variable booléenne (BFOUND) est utilisée pour enregistrer si la recherche est réussie. Lorsque l'élément de données dans la question est trouvé, BFound sera défini sur true ,! BFOUND sera égal à FAUX, ce qui signifie que la course sautera de la boucle while var bfound = false; var i = 0; while (! Bfound) {if (Avalue [i] == vsearchValues) {bfound = true; } else {i ++; }}Logique et
La logique et l'opérateur sont représentés par deux sommes (&&). Il y a deux opérandes. Le résultat ne rendra pas vrai uniquement si les deux opérandes sont vrais, sinon FAUX sera retourné.
// Table de vérité logistique et (&&), premier opéran
La logique et les opérations peuvent être appliquées à tout type d'opérande, pas seulement des booléens. Si l'un des opérandes n'est pas un booléen, alors la logique et les opérations ne renvoient pas nécessairement une valeur booléenne
La logique et les opérations sont des opérations de court-circuit. Si le premier opérande peut déterminer le résultat, le deuxième opérande ne sera plus évalué.
Pour la logique, si le premier opérande est faux, quelle que soit la valeur du deuxième opérande, le résultat est faux, alors le premier opérande est retourné; Si le premier opérande est vrai, alors le vrai et le faux du résultat sont les mêmes que le vrai et le faux du deuxième opérande, alors le deuxième opérande est renvoyé.
// sauf pour les sept fausses valeurs de false, undefined, null, +0, -0, nan et '', les autres sont toutes les vraies valeurs console.log ('t' && ''); // parce que 't' est la vraie valeur, il renvoie '' console.log ('t' && 'f'); // parce que 't' est la vraie valeur, il renvoie 'f'console.log (' t '&&' '); // parce que 't' est la vraie valeur, il renvoie '' Console.log ('' && ''); // parce que '' est la fausse valeur, il renvoie '' 'console.log (' '&&' '); // parce que '' est la fausse valeur, il renvoie '' '' console.log ('' && ''); // parce que '' est la fausse valeur, elle renvoie '' ''var i = 1; var result = (true && i ++); console.log (résultat, i); // parce que vrai est la vraie valeur, exécuter i ++, i est 2, le résultat est 1var i = 1; var résultat = (false && i ++); console.log (résultat, i); // FAUX est la valeur false, i est 1, le résultat est faux (résultat, i);
La logique et les opérateurs peuvent être utilisés de plusieurs manières, renvoyant la valeur de la première expression booléenne avec false
console.log (true && 'foo' && '' && 4 && 'foo' && true); // ''
La priorité des opérateurs relationnels est supérieure à celle de la logique et (&&) et de la logique ou (||), de sorte que des expressions similaires peuvent être écrites directement sans ajouter des parenthèses.
if (a + 1 == 2 && b + 2 == 3) {// todo}La logique et les opérateurs peuvent être utilisés au lieu de la structure si
if (a == b) {DoSomething ();} // équivaut à (a == b) && dosomething ();La logique et les opérateurs sont souvent utilisés dans les fonctions de rappel
// Si la valeur n'est pas transmise au paramètre A, A est la par défaut non définie et est une fausse valeur, donc a () n'est pas exécuté pour éviter les erreurs. Si la valeur est transmise au paramètre A, la fonction A () Fonction fn (a) {if (a) {a (); }} // équivalent à la fonction fn (a) {a && a ();}Logique ou
Le logique ou l'opérateur est représenté par deux lignes verticales (||). Il y a deux opérandes. Ce n'est que lorsque les deux opérandes sont faux que le résultat renvoie faux, sinon vrai sera retourné.
// Table de vérité logistique ou (||), premier opéran
De même, la logique ou les opérations peuvent être appliquées à tout type d'opérande, pas seulement des booléens. Si l'un des opérandes n'est pas un booléen, la logique ou l'opération ne renvoie pas nécessairement une valeur booléenne
La logique ou l'opération est également une opération de court-circuit. Si le premier opérande peut déterminer le résultat, le deuxième opérande ne sera plus évalué.
Pour la logique ou, si le premier opérande est vrai, le résultat est vrai, quelle que soit la valeur du deuxième opérande, et le premier opérande est retourné; Si le premier opérande est faux, le vrai et le faux du résultat sont les mêmes que le vrai et le faux du deuxième opérande, le deuxième opérande est renvoyé.
console.log ('t' || ''); // parce que 't' est la vraie valeur, il renvoie "t" console.log ('t' || 'f'); // parce que 't' est la vraie valeur, il renvoie "t" console.log ('' || 'f'); // parce que '' est la fausse valeur, il renvoie "f" console.log ('' valeur, il renvoie ""var i = 1; var result = (true || i ++); console.log (résultat, i); // Parce que vrai est la vraie valeur, i ++ n'est pas exécutée, le résultat est vrai, i est 1var i = 1; var résultat = (false || i ++); console.log (résultat, i); // parce que false est la valeur false, i est 2, le résultat est 1 1
De même, la logique ou les opérateurs peuvent être utilisés dans une concaténation multiple pour renvoyer la valeur de la première expression booléenne.
console.log (false || 0 || '' || 4 || 'foo' || true); // 4
Les opérateurs logiques ou les opérateurs sont souvent utilisés pour définir des valeurs par défaut pour les variables
// Si aucun objet n'est transmis au paramètre P, le paramètre est défini sur un objet vide par défaut Fn (P) {P = P || {};}Ce qui précède est l'analyse complète de l'opérateur JavaScript - les opérateurs logiques qui vous sont apportés par l'éditeur. J'espère que tout le monde soutiendra wulin.com ~