Junior
Co robi operator podwójnego wykrzyknika w języku programowania?
sobes.tech AI
Odpowiedź od AI
Konwertuje wartość na wartość logiczną. Jest równoważne podwójnemu zastosowaniu operatora nie (!).
Pierwszy ! konwertuje wartość na typ boolean, odwracając ją. Na przykład, niepusta łańcuch 'abc' staje się false, a 0 — true.
Drugi ! odwraca wynik pierwszego, zwracając oryginalną reprezentację logiczną wartości. W ten sposób 'abc' staje się true, a 0 — false.
Przykłady w JavaScript:
// Konwersja niepustego łańcucha
console.log(!!'cześć'); // true
// Konwersja liczby 0
console.log(!!0); // false
// Konwersja null
console.log(!!null); // false
// Konwersja undefined
console.log(!!undefined); // false
// Konwersja pustej tablicy
console.log(!![]); // true
// Konwersja pustego obiektu
console.log(!!{}); // true
Przykłady w Pythonie (chociaż w Pythonie nie ma natywnego operatora !!, można symulować jego zachowanie):
# Symulacja za pomocą bool()
print(bool('cześć')) # True
print(bool(0)) # False
print(bool([])) # True
print(bool({})) # True
# Symulacja za pomocą not not
print(not not 'cześć') # True
print(not not 0) # False
print(not not []) # True
print(not not {}) # True
Głównym celem jest jawne rzutowanie na boolean, często używane do sprawdzania "truthiness" wartości w kontekście operacji logicznych i struktur warunkowych.