Loogika on iga programmi alus, nii et koodi tõhusaks struktureerimiseks peaksite valdama loogilisi operaatoreid.

Loogilised operaatorid võimaldavad teha loogilisi operatsioone tõeväärtustega. Need võimaldavad teil tõeväärtusi kombineerida, eitada või võrrelda ning tulemuse põhjal oma koodis loogilisi otsuseid teha.

Tutvuge erinevate loogiliste operaatoritega, mida JavaScript toetab, sealhulgas ES6 Nullishi koalesseerimisoperaatorit.

Loogiline JA (&&) operaator

AND (&&) operaator on loogiline operaator, mis tagastab tõsi kui mõlemad operandid hindavad seda tõsi ja vale muidu.

Siin on operaatori JA süntaks:

a && b

Siin on näide kasutatavast AND-operaatorist:

konst a = 5;
konst b = 10;
konst c = 15;

konst tulemus_1 = (a < b) && (b < c);
konsool.log (tulemus_1); // tõsi

konst tulemus_2 = (a > b) && (b < c);
konsool.log (tulemus_2); // vale

Selles näites tulemus_1 hindab kuni tõsi sest kaks operandi avaldises hindavad väärtuseks tõsi. Kuid, tulemus_2 hindab kuni vale sest esimene operand (a > b) tagastab vale.

instagram viewer

Kui mõlemad operandid ei ole tõeväärtused, JavaScript proovib neid teisendada enne avaldise hindamist tõeväärtusteks. Nende tõeväärtusteks teisendamiseks hindab JavaScript esmalt, kas väärtused on tõesed või valed.

JavaScript loeb tõeseks väärtuseks mis tahes väärtust, mis ei ole otseselt vale. Teisendamisel hindavad need tõeväärtuseks tõsi.

Kuid teatud väärtused ja andmetüübid JavaScriptis on valed, nii et kui JavaScript need teisendab, hindavad need tõeväärtuseks vale.

JavaScripti valed väärtused on järgmised:

  • vale
  • null
  • määratlemata
  • NaN (mitte number)
  • 0
  • BigInt (0n)
  • Tühi string ("" või '' või ``)
  • määratlemata

Kui kasutate mittetõveväärtuste hindamiseks operaatorit AND, tagastab avaldis kohe esimese operandi väärtuse, kui operandi väärtus on vale, ilma teist hindamata. Seda käitumist nimetatakse lühiseks ja saate seda kasutada kirjutamiseks tingimuslaused JavaScriptis.

Kui aga esimene operand on tõene, jätkab avaldis teise operandi hindamist. Kui teine ​​operaand on tõene, tagastab see selle.

Näiteks:

konst a = 5;
konst b = 'Tere';
konst c = null;

konst tulemus_1 = a && b;
konsool.log (tulemus_1); // "Tere"

konst tulemus_2 = c && b;
konsool.log (tulemus_2); // null

Selles näites tulemus_1 hindab "Tere", sest mõlemad operandid avaldises on tõesed. Kuid, tulemus_2 lühised ja tagasivoolud null ilma teist operandit hindamata.

Pange tähele, et kui operande on rohkem, jätkab operaator AND nende hindamist, kuni leiab vale väärtuse. Kui see ei leia vale väärtust, tagastab see viimase tõese väärtuse.

Loogiline VÕI (||) operaator

VÕI (||) operaator on loogiline operaator, mis tagastab tõsi siis ja ainult siis, kui üks või mitu selle operandit on tõsi. See ainult naaseb vale kui mõlemad operandid on vale.

Siin on operaatori VÕI süntaks:

a || b

Siin on näide kasutatavast operaatorist OR:

konst a = 5;
konst b = 10;
konst c = 15;

konst tulemus_1 = (a < b) || (b < c);
konsool.log (tulemus_1); // tõsi

konst tulemus_2 = (a > b) || (b < c);
konsool.log (tulemus_2); // tõsi

konst tulemus_3 = (a > b) || (b > c);
konsool.log (tulemus_3); // vale

Ülaltoodud näites tulemus_1 hindab kuni tõsi sest mõlemad operandid avaldises hindavad seda tõsi. tulemus_2 hindab kuni tõsi sest teine ​​operand hindab väärtuseks tõsi. tulemus_3 hindab kuni vale sest kaks operandi avaldises hindavad väärtuseks vale.

Kui kasutate operaatorit VÕI mittetõveväärtuslikes kontekstides, proovib JavaScript enne avaldise hindamist teisendada tõeväärtusteks.

Avaldise hindamisel, kui esimene operand on tõene, loob operaator lühise ja tagastab selle. Kui see aga on vale, jätkab see järgmise operandi hindamist, kuni see kohtab tõese operandi. Kui avaldises pole tõeseid operande, tagastab see viimase kohatud vale väärtuse.

Näiteks:

konst a = 5;
konst b = 'Tere';
konst c = null;

konst tulemus_1 = a || b;
konsool.log (tulemus_1); // 5

konst tulemus_2 = c || b;
konsool.log (tulemus_2); // "Tere"

konst tulemus_3 = c || " ";
konsool.log (tulemus_3); // " "

Ülaltoodud näites tulemus_1 lühised ja tagasivoolud 5 sest see on tõeline väärtus. tulemus_2 tagastab "Tere", sest see on esimene tõene väärtus, mida ta väljendis kohtab. tulemus_3 tagastab tühja stringi, kuna see on avaldise viimane vale väärtus.

Loogiline EI (!) Operaator

Loogiline operaator NOT (!) on unaarne operaator, mis tagastab oma operandile vastupidise tõeväärtuse.

Siin on operaatori NOT süntaks:

!x

Kus x on tõeväärtus või tõene või vale väärtus.

Siin on näide kasutatavast operaatorist NOT:

konst a = 5;
konst b = '';
konst c = tõsi;

konst tulemus_1 = !a;
konsool.log (tulemus_1); // vale

konst tulemus_2 = !b;
konsool.log (tulemus_2); // tõsi

konst tulemus_3 = !c;
konsool.log (tulemus_3); // vale

Ülaltoodud näites tagastab operaator NOT Boole'i ​​operandide pöördväärtuse. Kui kasutate operaatorit NOT mittetõve kontekstis (tulemus_1 & tulemus_2), teisendab see tõesed väärtused pöördväärtuseks tõsi ja teisendab väärväärtused pöördväärtuseks vale.

Nullish Coalescing (??) Operaator

Null-liitmise operaator on loogiline operaator, mis hindab kahte operandi ja tagastab esimese operandi, kui see pole nii null või määratlemata. Vastasel juhul tagastab see teise operandi.

Lühidalt võib null-liitmise operaator tunduda identne loogilise VÕI (||) operaatoriga, kuid see pole nii. Peamine erinevus on selles, et operaator VÕI tagastab parempoolse operandi, kui vasakpoolne operandi on "mis tahes" vale väärtus, mitte ainult null või määratlemata.

See annab kokkuvõtliku võimaluse vaikeväärtuse valimiseks kokkupuutel null või määratlemata väärtused.

Siin on null-liitmisoperaatori süntaks:

x?? y

Siin on näide kasutusel olevast null-liitmise operaatorist:

konst nimi = null;
konst defaultName = "John Doe";

konst tulemus_1 = nimi?? defaultName;
konsool.log (tulemus_1); // "John Doe"

konst vanus = 0;
konst defaultAge = 25;

konst tulemus_2 = vanus?? defaultAge;
konsool.log (tulemus_2); // 0

Ülaltoodud näites tulemus_1 tagastab "John Doe", kuna esimesel operandil oli väärtus null. tulemus_2 naaseb 0 sest kuigi see on vale väärtus, pole see kumbki null ega määratlemata.

Loogiliste operaatorite kasutamine koodis

Loogilisi operaatoreid kasutatakse tavaliselt tingimuslausete kirjutamiseks, vaikeväärtuste määramiseks või tõeväärtuste vahetamiseks tingimuste alusel.

Neid loogilisi operaatoreid kasutades saate kirjutada sisutihedamat ja ilmekamat koodi, mis käsitleb erinevaid stsenaariume, lähtudes väärtuste õigsusest või väärusest.