Sobes.tech
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 0true. Drugi ! odwraca wynik pierwszego, zwracając oryginalną reprezentację logiczną wartości. W ten sposób 'abc' staje się true, a 0false.

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.