Sobes.tech
Junior

Ko dara dubultās izsaukuma zīmes operators programmēšanas valodā?

sobes.tech AI

Atbilde no AI

Vērtību pārvērš boolejā. Tas ir vienāds ar dubultu ne (!) operatora piemērošanu.

Pirmais ! pārvērš vērtību uz boolejisko tipu un to invertē. Piemēram, nepilnīga virkne 'abc' kļūst par false, bet 0 — par true. Otrais ! invertē pirmā rezultātu un atgriež vērtības sākotnējo boolejisko attēlojumu. Tādējādi 'abc' kļūst par true, bet 0 — par false.

JavaScript piemēri:

// Nepilnas virknes pārvēršana
console.log(!!'sveiki'); // true

// Skaitļa 0 pārvēršana
console.log(!!0); // false

// null pārvēršana
console.log(!!null); // false

// undefined pārvēršana
console.log(!!undefined); // false

// Tukša masīva pārvēršana
console.log(!![]); // true

// Tukša objekta pārvēršana
console.log(!!{}); // true

Python piemēri (lai gan Python nav nativā !! operators, tā uzvedību var imitēt):

# Ar bool() imitācija
print(bool('sveiki')) # True
print(bool(0))       # False
print(bool([]))      # True
print(bool({}))      # True

# Ar not not imitācija
print(not not 'sveiki') # True
print(not not 0)       # False
print(not not [])      # True
print(not not {})      # True

Galvenais mērķis — skaidra pārvēršana uz boolejisko tipu, ko bieži izmanto, lai pārbaudītu "truthiness" (patiesumu) vērtības kontekstā ar booleāniem operatoriem un nosacījuma struktūrām.