Inférieur strict (<)
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 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
console.log(5 < 3);
// Expected output: false
console.log(3 < 3);
// Expected output: false
// Compare bigint to number
console.log(3n < 5);
// Expected output: true
console.log("aa" < "ab");
// Expected output: true
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.ToPrimitiveen utilisant le paramètrehintavec 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
trueetfalsesont respectivement converties en 1 et 0. nullest converti en 0.undefinedest 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® 2026 Language Specification> # sec-relational-operators> |
Compatibilité des navigateurs
Chargement…