Desigualdade (!=)
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
O operador de desigualdade (!=
) verifica se seus dois operandos não são igual, retornando um resultado booleano. Ao contrário do operador de desigualdade estrito, ele tenta converter os tipos e comparar operandos de tipos diferentes.
Experimente
console.log(1 != 1); // Expected output: false console.log("hello" != "hello"); // Expected output: false console.log("1" != 1); // Expected output: false console.log(0 != false); // Expected output: false
Sintaxe
x != y
Descrição
O operador de desigualdade verifica se seus operandos não são iguais. É a negação do operador de igualdade, de modo que as duas linhas a seguir sempre darão o mesmo resultado:
x != y; !(x == y);
Para obter detalhes do algoritmo de comparação, consulte a página do operador de igualdade.
3 != "3"; // false
Para evitar isso e exigir que diferentes tipos sejam considerados diferentes, use o operador de desigualdade estrita em vez disso:
3 !== "3"; // true
Exemplos
Comparação sem conversão de tipo
1 != 2; // true "hello" != "hola"; // true 1 != 1; // false "hello" != "hello"; // false
Comparação com conversão de tipo
"1" != 1; // false 1 != "1"; // false 0 != false; // false 0 != null; // true 0 != undefined; // true 0 != !!null; // false, veja o operador lógico NOT 0 != !!undefined; // false, veja o operador lógico NOT null != undefined; // false const number1 = new Number(3); const number2 = new Number(3); number1 != 3; // false number1 != number2; // true
Comparação de objetos
const object1 = { key: "value", }; const object2 = { key: "value", }; console.log(object1 != object2); // true console.log(object1 != object1); // false
Especificações
Specification |
---|
ECMAScript® 2026 Language Specification # sec-equality-operators |