Sobes.tech
Junior

Ce face operatorul de semne de exclamare dublu în limbajul de programare?

sobes.tech AI

Răspuns de la AI

Converteste o valoare în boolean. Echivalent cu aplicarea de două ori a operatorului nu (!).

Primul ! convertește valoarea în tip boolean, inversând-o. De exemplu, un șir non gol 'abc' devine false, iar 0 devine true. Al doilea ! inversează rezultatul primului, returnând reprezentarea booleană originală a valorii. Astfel, 'abc' devine true, iar 0 devine false.

Exemple în JavaScript:

// Conversia unui șir non gol
console.log(!!'salut'); // true

// Conversia numărului 0
console.log(!!0); // false

// Conversia lui null
console.log(!!null); // false

// Conversia lui undefined
console.log(!!undefined); // false

// Conversia unui array gol
console.log(!![]); // true

// Conversia unui obiect gol
console.log(!!{}); // true

Exemple în Python (deși în Python nu există operatorul nativ !!, se poate emula comportamentul său):

# Emulare cu bool()
print(bool('salut')) # True
print(bool(0))       # False
print(bool([]))      # True
print(bool({}))      # True

# Emulare cu not not
print(not not 'salut') # True
print(not not 0)       # False
print(not not [])      # True
print(not not {})      # True

Scopul principal este conversia explicită în boolean, adesea utilizată pentru verificarea "truthiness" (adevărului) unei valori în contextul operațiilor booleene și al structurilor condiționale.