Sobes.tech
Junior

Que fait l'opérateur de double point d'exclamation dans le langage de programmation?

sobes.tech IA

Réponse de l'IA

Convertit une valeur en booléen. Équivalent à appliquer deux fois l'opérateur non (!).

Le premier ! convertit la valeur en type booléen, en l'inversant. Par exemple, une chaîne non vide 'abc' devient false, et 0 devient true. Le second ! inverse le résultat du premier, renvoyant la représentation booléenne d'origine de la valeur. Ainsi, 'abc' devient true, et 0 false.

Exemples en JavaScript :

// Conversion d'une chaîne non vide
console.log(!!'bonjour'); // true

// Conversion du nombre 0
console.log(!!0); // false

// Conversion de null
console.log(!!null); // false

// Conversion de undefined
console.log(!!undefined); // false

// Conversion d'un tableau vide
console.log(!![]); // true

// Conversion d'un objet vide
console.log(!!{}); // true

Exemples en Python (bien que Python n'ait pas d'opérateur natif !!, on peut émuler son comportement) :

# Émulation avec bool()
print(bool('bonjour')) # True
print(bool(0))         # False
print(bool([]))        # True
print(bool({}))        # True

# Émulation avec not not
print(not not 'bonjour') # True
print(not not 0)         # False
print(not not [])        # True
print(not not {})        # True

L'objectif principal est la conversion explicite en booléen, souvent utilisée pour vérifier la "truthiness" d'une valeur dans le contexte d'opérations booléennes et de structures conditionnelles.