Sobes.tech
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 0true. Antras ! invertuoja pirmojo rezultatą ir grąžina pradinį reikšmės boolean atvaizdą. Taigi, 'abc' tampa true, o 0false.

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.