Junior
Čo robí operátor dvojitých výkričníkov v programovacom jazyku?
sobes.tech AI
Odpoveď od AI
Prevedie hodnotu na boolean. Je ekvivalentné dvojitému použitiu operátora nie (!).
Prvý ! prevedie hodnotu na typ boolean a invertuje ju. Napríklad, ne-prázdny reťazec 'abc' sa stáva false, a 0 sa stáva true.
Druhý ! invertuje výsledok prvého, vracajúc pôvodnú booleanovú reprezentáciu hodnoty. Takže 'abc' sa stáva true, a 0 sa stáva false.
Príklady v JavaScripte:
// Prevod ne-prázdneho reťazca
console.log(!!'ahoj'); // true
// Prevod čísla 0
console.log(!!0); // false
// Prevod null
console.log(!!null); // false
// Prevod undefined
console.log(!!undefined); // false
// Prevod prázdneho poľa
console.log(!![]); // true
// Prevod prázdneho objektu
console.log(!!{}); // true
Príklady v Pythone (hoci v Pythone nie je nativný operátor !!, dá sa jeho správanie emulovať):
# Emulácia pomocou bool()
print(bool('ahoj')) # True
print(bool(0)) # False
print(bool([])) # True
print(bool({})) # True
# Emulácia pomocou not not
print(not not 'ahoj') # True
print(not not 0) # False
print(not not []) # True
print(not not {}) # True
Hlavným cieľom je explicitná konverzia na boolean, ktorá sa často používa na kontrolu "truthiness" (pravdivosti) hodnoty v kontexte booleanových operácií a podmienok.