Desigualdade (!=)

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 (en-US), ele tenta converter os tipos e comparar operandos de tipos diferentes.

Experimente

Sintaxe

js
x != y

Descrição

O operador de desigualdade verifica se seus operandos não são iguais. É a negação do operador de igualdade (en-US), de modo que as duas linhas a seguir sempre darão o mesmo resultado:

js
x != y;

!(x == y);

Para obter detalhes do algoritmo de comparação, consulte a página do operador de igualdade (en-US).

js
3 != "3"; // false

Para evitar isso e exigir que diferentes tipos sejam considerados diferentes, use o operador de desigualdade estrita (en-US) em vez disso:

js
3 !== "3"; // true

Exemplos

Comparação sem conversão de tipo

js
1 != 2; // true
"hello" != "hola"; // true

1 != 1; // false
"hello" != "hello"; // false

Comparação com conversão de tipo

js
"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

js
const object1 = {
  key: "value",
};

const object2 = {
  key: "value",
};

console.log(object1 != object2); // true
console.log(object1 != object1); // false

Especificações

Specification
ECMAScript Language Specification
# sec-equality-operators

Compatibilidade de navegadores

BCD tables only load in the browser

Veja também