JavaScripti booleansi selgitus - kuidas booleansi JavaScriptis kasutada

Boolean

Booleanid on primitiivne andmetüüp, mida tavaliselt kasutatakse programmeerimiskeeltes. Definitsiooni järgi on booleanil kaks võimalikku väärtust: truevõi false.

JavaScripti puhul kasutatakse tõeväärtuse jaoks kaudset tüüpi sundi. Kui teil on näiteks if-lause, mis kontrollib teatud avaldist, sunnitakse seda lauset tõeväärtusele:

const a = 'a string'; if (a) { console.log(a); // logs 'a string' }

On vaid mõned väärtused, mida sunnitakse valeks:

  • vale (tegelikult pole sunnitud, sest see on juba vale)
  • null
  • määratlemata
  • NaN
  • 0
  • "" (tühi string)

Kõik muud väärtused sunnitakse tõele. Kui väärtus sunnitakse tõeväärtusele, nimetame seda ka kas "valeks" või "tõeks".

Üks viis seda tüüpi sundi kasutamiseks on operaatorite või ( ||) ja ja ( &&) kasutamine:

const a = 'word'; const b = false; const c = true; const d = 0 const e = 1 const f = 2 const g = null console.log(a || b); // 'word' console.log(c || a); // true console.log(b || a); // 'word' console.log(e || f); // 1 console.log(f || e); // 2 console.log(d || g); // null console.log(g || d); // 0 console.log(a && c); // true console.log(c && a); // 'word'

Nagu näete, kontrollib või operaator esimest operandi. Kui see on tõene või tõene, tagastab see selle kohe (sellepärast saame esimesel juhul sõna ja teisel juhul tõese). Kui see pole tõsi ega tõde, tagastab see teise operandi (sellepärast saame kolmandal juhul sõna).

Operaatori ja operaatoriga töötab see sarnaselt, kuid et tähed "ja" oleksid tõesed, peavad mõlemad operandid olema tõesed. Nii et see tagastab alati teise operandi, kui mõlemad on tõesed / tõesed, vastasel juhul vale. Sellepärast saame neljandal juhul tõeks ja viimasel juhul sõna.

Boole'i ​​objekt

Samuti on olemas natiivne JavaScripti objekt, mis ümbritseb väärtust. Esimese parameetrina edastatud väärtus teisendatakse vajadusel tõeväärtuseks. Kui väärtus jäetakse välja, 0, -0, null, false, NaN, undefined või tühi string (""), on objektil algväärtus false. Kõik muud väärtused, sealhulgas mis tahes objekt või string „false”, loovad objekti, mille algväärtus on true.

Ärge segage primitiivseid tõeväärtuse tõeseid ja valesid tõeväärtuste ja tõeliste väärtustega.

Rohkem detaile

Iga objekt, mille väärtus pole määratlemata või null, sealhulgas Boole'i ​​objekt, mille väärtus on vale, annab tingimuslausele edastamisel õigeks. Kui see on tõene, täidab see funktsiooni. Näiteks järgmise lause tingimus, kui lause vastab tõele:

const x = new Boolean(false); if (x) { // this code is executed }

See käitumine ei kehti Boole'i ​​primitiivide kohta. Näiteks järgmise lause tingimus, kui lause ütleb valet:

const x = false; if (x) { // this code is not executed }

Ärge kasutage tõeväärtuse objekti mitte-tõeväärtuse väärtuse teisendamiseks tõeväärtuseks. Selle ülesande täitmiseks kasutage selle asemel funktsiooni Boolean:

const x = Boolean(expression); // preferred const x = new Boolean(expression); // don't use

Kui määrate Boole'i ​​objekti algväärtuseks mis tahes objekti, sealhulgas ka tõeväärtuse objekti, mille väärtus on vale, on uue tõeväärtuse objekti väärtus tõene.

const myFalse = new Boolean(false); // initial value of false const g = new Boolean(myFalse); // initial value of true const myString = new String('Hello'); // string object const s = new Boolean(myString); // initial value of true

Ärge kasutage Boole'i ​​ürgi asemel Boole'i ​​objekti.