--- title: Inégalité (!=) slug: Web/JavaScript/Reference/Operators/Inequality tags: - JavaScript - Language feature - Operator - Reference browser-compat: javascript.operators.inequality translation-of: Web/JavaScript/Reference/Operators/Inequality ---
L'opérateur d'inégalité (!=
) vérifie si ses deux opérandes ne sont pas égaux et renvoie un booléen correspondant au résultat. À la différence de l'opérateur d'inégalité stricte, l'opérateur d'inégalité tente une conversion de ses opérandes avant la comparaison si ceux-ci sont de types différents.
x != y
L'opérateur d'inégalité vérifie si ses deux opérandes ne sont pas égaux. Il s'agit de la négation de l'opérateur d'égalité et les deux lignes suivantes fourniront donc toujours le même résultat :
x != y !(x == y)
Pour plus de détails sur l'algorithme de comparaison utilisé, voir la page relative à l'opérateur d'égalité.
À l'instar de l'opérateur d'égalité, l'opérateur d'inégalité tentera une conversion des opérandes si ceux-ci ne sont pas de même type :
3 != "3"; // false
Si cette conversion implicite n'est pas souhaitable et qu'on souhaite considérer des valeurs de types différents comme étant différentes, on privilégiera l'opérateur d'inégalité stricte à la place :
3 !== "3"; // true
1 != 2; // true "hello" != "hola"; // true 1 != 1; // false "hello" != "hello"; // false
"1" != 1; // false 1 != "1"; // false 0 != false; // false 0 != null; // true 0 != undefined; // true 0 != !!null; // false, voir la documentation pour !! 0 != !!undefined; // false, voir la documentation pour !! null != undefined; // false const number1 = new Number(3); const number2 = new Number(3); number1 != 3; // false number1 != number2; // true
const objet1 = {"clé": "valeur"} const objet2 = {"clé": "valeur"}; objet1 != objet2 // true objet2 != objet2 // false
{{Specifications}}
{{Compat}}