Junior
O que faz o operador de dupla exclamação na linguagem de programação?
sobes.tech IA
Resposta da IA
Converte um valor em booleano. É equivalente a aplicar duas vezes o operador não (!).
O primeiro ! converte o valor para tipo booleano, invertendo-o. Por exemplo, uma string não vazia 'abc' torna-se false, e 0 torna-se true.
O segundo ! inverte o resultado do primeiro, retornando a representação booleana original do valor. Assim, 'abc' torna-se true, e 0 false.
Exemplos em JavaScript:
// Conversão de uma string não vazia
console.log(!!'olá'); // true
// Conversão do número 0
console.log(!!0); // false
// Conversão de null
console.log(!!null); // false
// Conversão de undefined
console.log(!!undefined); // false
// Conversão de array vazio
console.log(!![]); // true
// Conversão de objeto vazio
console.log(!!{}); // true
Exemplos em Python (embora em Python não exista o operador nativo !!, pode-se emular seu comportamento):
# Emulação com bool()
print(bool('olá')) # True
print(bool(0)) # False
print(bool([])) # True
print(bool({})) # True
# Emulação com not not
print(not not 'olá') # True
print(not not 0) # False
print(not not []) # True
print(not not {}) # True
O objetivo principal é a conversão explícita para booleano, frequentemente usada para verificar a "truthiness" de um valor no contexto de operações booleanas e estruturas condicionais.