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 0 — true.
Teine ! pöörab esimese tulemuse ümber ja tagastab väärtuse algse boolean-kujutise. Seega, 'abc' muutub true, ja 0 — false.
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.