Boolean

Booleanii sunt un tip de date primitiv utilizat în mod obișnuit în limbajele de programare a computerului. Prin definiție, un boolean are două valori posibile: true sau false.

În JavaScript, există adesea coerciții implicite de tip pentru boolean. Dacă de exemplu aveți o instrucțiune if care verifică o anumită expresie, expresia respectivă va fi constrânsă într-un boolean:

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

Există doar câteva valori care vor fi constrânse la false:

  • fals (nu este constrâns întrucât este deja fals)
  • nul
  • nedefinit
  • NaN
  • 0
  • “” (Șir gol)

Toate celelalte valori vor fi forțate la adevărate. Când o valoare este constrânsă la un boolean, numim asta fie „fals”, fie „adevărat”.

O modalitate prin care se folosește constrângerea de tip este folosirea sau (||) si si (&&) operatorii:

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'

După cum puteți vedea, sau operatorul verifică primul operand. Dacă acest lucru este adevărat sau adevărat, îl returnează imediat (motiv pentru care primim „cuvânt” în primul caz și adevărat în al doilea caz). Dacă nu este adevărat sau adevărat, returnează al doilea operand (motiv pentru care primim „cuvânt” în al treilea caz).

ad-banner

Cu operatorul și funcționează într-un mod similar, dar pentru ca „și” să fie adevărate, ambii operanzi trebuie să fie adevărați. Deci, va reveni întotdeauna al doilea operand dacă ambele sunt adevărate / adevărate, altfel va reveni fals. De aceea, în al patrulea caz devenim adevărați și în ultimul caz primim „cuvânt”.

Obiectul boolean

Există, de asemenea, un obiect JavaScript nativ care înfășoară o valoare. Valoarea transmisă ca prim parametru este convertită la o valoare booleană, dacă este necesar. Dacă valoarea este omisă, 0, -0, nul, fals, NaN, nedefinit sau șirul gol (“”), obiectul are o valoare inițială falsă. Toate celelalte valori, inclusiv orice obiect sau șirul „fals”, creează un obiect cu o valoare inițială adevărată.

Nu confundați valorile booleene primitive adevărate și false cu valorile adevărate și false ale obiectului boolean.

Mai multe detalii

Orice obiect a cărui valoare nu este nedefinită sau nulă, inclusiv un obiect boolean a cărui valoare este falsă, se evaluează la adevărat atunci când este trecut la o instrucțiune condiționată. Dacă este adevărat, aceasta va executa funcția. De exemplu, condiția din următoarea instrucțiune if se evaluează ca fiind adevărată:

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

Acest comportament nu se aplică primitivelor booleene. De exemplu, condiția din următoarea instrucțiune if se evaluează ca fiind falsă:

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

Nu utilizați un obiect boolean pentru a converti o valoare non-booleană într-o valoare booleană. În schimb, utilizați Boolean ca funcție pentru a efectua această sarcină:

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

Dacă specificați orice obiect, inclusiv un obiect boolean a cărui valoare este falsă, ca valoare inițială a unui obiect boolean, noul obiect boolean are o valoare adevărată.

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

Nu utilizați un obiect boolean în locul unei primitive booleene.