JavaScript Booleans magyarázata - A Booleans használata a JavaScript-ben

Logikai

A Booleans egy primitív adattípus, amelyet általában a számítógépes programozási nyelvekben használnak. Definíció szerint a logikai értéknek két lehetséges értéke van: truevagy false.

A JavaScriptben gyakran implicit típusú kényszerítés van a logikai elemre. Ha például van egy if utasítás, amely ellenőriz egy bizonyos kifejezést, akkor ezt a kifejezést logikai értékre kényszerítik:

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

Csak néhány érték kényszerül hamisra:

  • hamis (nem igazán kényszerítve, mivel már hamis)
  • nulla
  • meghatározatlan
  • NaN
  • 0
  • "" (üres karakterlánc)

Minden más értéket igazra kényszerítenek. Ha egy értéket logikai értékre kényszerítenek, ezt „hamisnak” vagy „igazságnak” is nevezzük.

Az ilyen típusú kényszer alkalmazásának egyik módja az vagy ( ||) és ( &&) operátorok használata:

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'

Amint láthatja, az or operátor ellenőrzi az első operandust. Ha ez igaz vagy igaz, akkor azonnal visszaadja (ezért kapjuk az első esetben a "szót", a második esetben pedig az igazat). Ha nem igaz vagy igaz, akkor a második operandust adja vissza (ezért kapjuk a harmadik esetben a „szót”).

Az és operátorral hasonló módon működik, de a „és” igazakhoz mindkét operandusnak igaznak kell lennie. Tehát mindig visszaadja a második operandust, ha mindkettő igaz / igaz, különben hamis. Ezért a negyedik esetben igazak leszünk, az utolsó esetben pedig a „szó”.

A logikai objektum

Van egy natív JavaScript objektum is, amely körbevesz egy értéket. Az első paraméterként átadott értéket szükség esetén logikai értékekké konvertáljuk. Ha az érték elmarad, 0, -0, null, false, NaN, undefined vagy az üres karakterlánc (""), akkor az objektum kezdeti értéke false. Az összes többi érték, beleértve bármely objektumot vagy a „hamis” karakterláncot, objektumot hoz létre, amelynek kezdeti értéke true.

Ne keverje össze az igaz és hamis primitív logikai értékeket a logikai objektum igaz és hamis értékeivel.

További részletek

Bármely objektum, amelynek értéke nem meghatározatlan vagy nulla, beleértve a hamis logikai objektumot is, igaznak minősül, ha egy feltételes utasításnak adják át. Ha igaz, akkor ez végrehajtja a függvényt. Például a következő feltétel, ha az utasítás igaznak bizonyul:

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

Ez a viselkedés nem vonatkozik a logikai primitívekre. Például a következő feltétel, ha az utasítás értéke hamis:

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

Ne használjon logikai objektumot egy nem logikai érték konvertálásához logikai értékké. Ehelyett használja a Boolean funkciót a feladat végrehajtásához:

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

Ha bármely objektumot megad, beleértve egy logikai objektumot is, amelynek értéke hamis, mint logikai objektum kezdeti értékét, az új logikai objektum értéke true.

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

Ne használjon logikai objektumot logikai primitív helyett.