JavaScript loginės operacijos ir veiksmai

1. True vs Truthy

Dėmesio: loginės operacijos gali būti naudojamos ne tik su boolean tipo reikšmėmis.

true
boolean tipo reikšmė: "tiesa".
false
boolean tipo reikšmė: "netiesa".
truthy
Bet kurio tipo reikšmė, kuri yra "teisinga".
falsy
Bet kurio tipo reikšmė, kuri yra "neteisinga".

Dauguma ne-boolean tipo reikšmių yra truthy. Falsy yra šios reikšmės:

0
NaN
"Not a Number": klaidingų matematinių veiksmų rezultatas.
''
tuščias stringas.
null
tuščia object tipo reikšmė.

Patikrinti ar reikšmė yra truthy galima taip:

> [] && 'is truthy'
'is truthy'

(reiškias truthy)

2. Veiksmai sukuriantys boolean reikšmes

a === b
Griežtas (strict) lygybės tikrinimas.
'b' > 'a'
Palyginimo veiksmai: >, <, >=, <=. Gali būti naudojami tiek su skaičiais, tiek su kitų tipų reikšmėmis. Išsibandykite.
Boolean( otherValue )
Pakeičia truthy/falsy į true/false.
fn( ... )
Kai kurios funkcijos (tame tarpe jūsų aprašytos).

3. Loginės operacijos

1 && null
Loginis AND ("ir"). Grąžina pirmą falsy reikšmę, arba paskutinę truthy reikšmę. Šiuo atveju null.
'' || 2
Loginis OR ("arba"). Grąžina pirmą truthy reikšmę, arba paskutinę falsy reikšmę. Šiuo atveju 2.
1 ? 2 : 3
Ternary operatorius. Tikrina pirmąją reikšmę, jei ji teisinga - grąžina antrąją, jei ne - grąžina trečiąją. Šiuo atveju 2.

Svarbu: Jei vienas šių operatorių grąžins pirmesnę reikšmę, tai sekantys expressions nebus vykdomi (t.y. nebus kviečiamos funkcijos). Pvz.:

> 1 || console.log( 'testas' )
1
> 0 || console.log( 'testas' )
testas
undefined

« Atgal