Sobes.tech
Junior

Mida teeb topelt hüüumärgi operaator programmeerimiskeeles?

sobes.tech AI

Vastus AI-lt

Väärtust muundab boolean-tüüpi. See on võrdne topelt eituse (!) operaatori rakendamisega.

Esimene ! muudab väärtuse boolean-tüübiks ja pöörab selle ümber. Näiteks, mitte-tühi string 'abc' muutub false, ja 0true. Teine ! pöörab esimese tulemuse ümber ja tagastab väärtuse algse boolean-kujutise. Seega, 'abc' muutub true, ja 0false.

Näited JavaScriptis:

// Mitte-tühja stringi teisendamine
console.log(!!'tere'); // true

// Nulli teisendamine
console.log(!!null); // false

// Undefined teisendamine
console.log(!!undefined); // false

// Tühi massiivi teisendamine
console.log(!![]); // true

// Tühi objekti teisendamine
console.log(!!{}); // true

Python näited (kuigi Pythonil puudub natiivne !! operaator, seda saab emuleerida):

# bool() abil emuleerimine
print(bool('tere')) # True
print(bool(0))      # False
print(bool([]))     # True
print(bool({}))     # True

# not not abil emuleerimine
print(not not 'tere') # True
print(not not 0)      # False
print(not not [])     # True
print(not not {})     # True

Peamine eesmärk on selge konversioon boolean-tüüpi, mida sageli kasutatakse "truthiness" (tõeväärtus) kontrollimiseks kontekstis booleaansete operatsioonide ja tingimuslike struktuuride.