Junior
¿Qué hace el operador de doble signo de exclamación en el lenguaje de programación?
sobes.tech AI
Respuesta de la IA
Convierte un valor en booleano. Es equivalente a aplicar dos veces el operador no (!).
El primer ! convierte el valor a tipo booleano, invirtiéndolo. Por ejemplo, una cadena no vacía 'abc' se convierte en false, y 0 en true.
El segundo ! invierte el resultado del primero, devolviendo la representación booleana original del valor. Así, 'abc' se vuelve true, y 0 false.
Ejemplos en JavaScript:
// Conversión de una cadena no vacía
console.log(!!'hola'); // true
// Conversión del número 0
console.log(!!0); // false
// Conversión de null
console.log(!!null); // false
// Conversión de undefined
console.log(!!undefined); // false
// Conversión de un array vacío
console.log(!![]); // true
// Conversión de un objeto vacío
console.log(!!{}); // true
Ejemplos en Python (aunque en Python no existe el operador nativo !!, se puede emular su comportamiento):
# Emulación con bool()
print(bool('hola')) # True
print(bool(0)) # False
print(bool([])) # True
print(bool({})) # True
# Emulación con not not
print(not not 'hola') # True
print(not not 0) # False
print(not not []) # True
print(not not {}) # True
El objetivo principal es la conversión explícita a booleano, que se usa frecuentemente para verificar la "verdad" (truthiness) de un valor en el contexto de operaciones booleanas y estructuras condicionales.