Junior
Mit csinál a dupla felkiáltójel operátor a programozási nyelvben?
sobes.tech MI
Válasz az MI-től
Értéket alakít logikai értékké. Ez megegyezik a nem (!) operátor kétszeri alkalmazásával.
Az első ! a értéket logikai típussá alakítja, és invertálja. Például, egy nem üres string 'abc' false lesz, és a 0 true.
A második ! invertálja az első eredményt, visszaadva az érték eredeti logikai reprezentációját. Így 'abc' true, a 0 pedig false lesz.
JavaScript példák:
// Nem üres string átalakítása
console.log(!!'szia'); // true
// A 0 szám átalakítása
console.log(!!0); // false
// null átalakítása
console.log(!!null); // false
// undefined átalakítása
console.log(!!undefined); // false
// Üres tömb átalakítása
console.log(!![]); // true
// Üres objektum átalakítása
console.log(!!{}); // true
Python példák (bár Pythonban nincs natív !! operátor, utánozható a viselkedése):
# bool() segítségével
print(bool('szia')) # True
print(bool(0)) # False
print(bool([])) # True
print(bool({})) # True
# not not segítségével
print(not not 'szia') # True
print(not not 0) # False
print(not not []) # True
print(not not {}) # True
A fő cél az érték explicit átalakítása boolean típusra, amit gyakran használnak "truthiness" (igazságérték) ellenőrzésére boolean műveletek és feltételes szerkezetek kontextusában.