Junior
Ką daro dvigubo šauktuko operatorius programavimo kalboje?
sobes.tech AI
Atsakymas iš AI
Paverčia reikšmę į boolean. Tai lygu dvigubo ne (!) operatoriaus taikymui.
Pirmas ! paverčia reikšmę į boolean ir ją invertuoja. Pavyzdžiui, ne tuščias eilutė 'abc' tampa false, o 0 — true.
Antras ! invertuoja pirmojo rezultatą ir grąžina pradinį reikšmės boolean atvaizdą. Taigi, 'abc' tampa true, o 0 — false.
Pavyzdžiai JavaScript:
// Ne tuščios eilutės paversti
console.log(!!'labas'); // true
// 0 skaičiaus paversti
console.log(!!0); // false
// null paversti
console.log(!!null); // false
// undefined paversti
console.log(!!undefined); // false
// Tuščio masyvo paversti
console.log(!![]); // true
// Tuščio objekto paversti
console.log(!!{}); // true
Python pavyzdžiai (nors Python neturi natūralaus !! operatoriaus, jo elgseną galima emuliuoti):
# Emuliacija naudojant bool()
print(bool('labas')) # True
print(bool(0)) # False
print(bool([])) # True
print(bool({})) # True
# Emuliacija naudojant not not
print(not not 'labas') # True
print(not not 0) # False
print(not not []) # True
print(not not {}) # True
Pagrindinis tikslas — aiškus konvertavimas į boolean, dažnai naudojamas tikrinant "truthiness" (tiesą) reikšmės kontekste boolean operacijose ir sąlyginiuose sakiniuose.