Објашњени ЈаваСцрипт логички бројеви - Како користити логичке логичке вредности у ЈаваСцрипт-у

Боолеан

Боолеови су примитивни тип података који се обично користи у рачунарским програмским језицима. По дефиницији, логичка вредност има две могуће вредности: trueили false.

У ЈаваСцрипт-у често постоји имплицитна врста принуде на боолеан. Ако на пример имате израз иф који проверава одређени израз, тај израз ће бити присиљен на логичку вредност:

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

Постоји само неколико вредности које ће бити приморане на лажне:

  • лажно (није стварно принуђено јер је већ лажно)
  • нула
  • недефинисан
  • НаН
  • 0
  • "" (празан низ)

Све остале вредности биће приморане на истините. Када се вредност присили на логичку вредност, то такође називамо или „лажно“ или „нетачно“.

Један од начина на који се користи присиљавање типа је коришћење оператора ор ( ||) и и ( &&):

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'

Као што видите, оператор или проверава први операнд. Ако је ово тачно или истинито, одмах га враћа (због чега у првом случају добијамо „реч“, а у другом случају тачно). Ако није тачно или истинито, враћа други операнд (због чега у трећем случају добијамо „реч“).

Са оператором анд ради на сличан начин, али да би 'и' било тачно, оба операнда морају бити прљава. Тако ће увек вратити други операнд ако су оба тачна / истинита, у супротном ће вратити фалсе. Због тога се у четвртом случају остварујемо, а у последњем добијамо „реч“.

Булов објекат

Постоји и изворни ЈаваСцрипт објекат који се обавија око вредности. Вредност прослеђена као први параметар претвара се у логичку вредност, ако је потребно. Ако је вредност изостављена, 0, -0, нулл, фалсе, НаН, ундефинед или празан низ (""), објекат има почетну вредност фалсе. Све остале вредности, укључујући било који објекат или низ „нетачно“, креирају објекат са почетном вредношћу тачно.

Не бркајте примитивне логичке вредности тачно и нетачно са истинским и нетачним вредностима логичког објекта.

Детаљније

Било који објекат чија вредност није недефинисана или ништавна, укључујући логички објекат чија је вредност нетачна, процењује се на истинито када се проследи условном изразу. Ако је тачно, ово ће извршити функцију. На пример, услов у следећој наредби иф вреднује као тачно:

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

Ово понашање се не односи на логичке примитиве. На пример, услов у следећој наредби иф процењује се на нетачно:

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

Не користите логички објекат за претварање не-логичке вредности у логичку вредност. Уместо тога, користите Боолеан као функцију за извршавање овог задатка:

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

Ако наведете било који објекат, укључујући логички објекат чија је вредност нетачна, као почетну вредност логичког објекта, нови логички објекат има вредност тачно.

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

Не користите логички објекат уместо логичког примитива.