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
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.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® 2026 Language Specification # sec-relational-operators |