Inférieur strict (<)
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.
L'opérateur inférieur strict (<
) renvoie true
si son opérande gauche est strictement inférieur à son opérande droit et false
sinon.
Exemple interactif
Syntaxe
x < y;
Description
Les opérandes sont comparés avec l'algorithme de comparaison abstraite relationnelle résumé comme suit :
-
Tout d'abord, les objets sont convertis en valeurs primitives avec
Symbol.ToPrimitive
en utilisant le paramètrehint
avec la valeur'number'
. -
Si les deux valeurs sont des chaînes de caractères, elles sont comparées comme telles selon les valeurs des codes Unicode qu'elles contiennent.
-
Sinon, le moteur JavaScript tente de convertir les valeurs primitives non-numériques en valeurs numériques :
- Les valeurs booléennes
true
etfalse
sont respectivement converties en 1 et 0. null
est converti en 0.undefined
est converti enNaN
.- Les chaînes de caractères sont converties en fonction de la valeur qu'elles contiennent et, si elles ne contiennent pas de valeurs numériques, elles sont converties en
NaN
.
- Les valeurs booléennes
-
Si l'une des valeurs vaut
NaN
, l'opérateur renverrafalse
. -
Sinon, les valeurs sont comparées numériquement.
Exemples
Comparaison numérique
console.log(5 < 3); // false
console.log(3 < 3); // false
console.log(3 < 5); // true
Comparaison entre un nombre et un BigInt
console.log(5n < 3); // false
console.log(3 < 5n); // true
Comparaison entre chaînes de caractères
console.log("a" < "b"); // true
console.log("a" < "a"); // false
console.log("a" < "3"); // false
Comparaison entre nombres et chaînes de caractères
console.log("5" < 3); // false
console.log("3" < 3); // false
console.log("3" < 5); // true
console.log("coucou" < 5); // false
console.log(5 < "coucou"); // false
console.log("5" < 3n); // false
console.log("3" < 5n); // true
Comparaison avec des booléens, null, undefined, NaN
console.log(true < false); // false
console.log(false < true); // true
console.log(0 < true); // true
console.log(true < 1); // false
console.log(null < 0); // false
console.log(null < 1); // true
console.log(undefined < 3); // false
console.log(3 < undefined); // false
console.log(3 < NaN); // false
console.log(NaN < 3); // false
Spécifications
Specification |
---|
ECMAScript Language Specification # sec-relational-operators |
Compatibilité des navigateurs
BCD tables only load in the browser