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

js
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ètre hint 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 et false sont respectivement converties en 1 et 0.
    • null est converti en 0.
    • undefined est converti en NaN.
    • 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.
  • Si l'une des valeurs vaut NaN, l'opérateur renverra false.

  • Sinon, les valeurs sont comparées numériquement.

Exemples

Comparaison numérique

js
console.log(5 < 3); // false
console.log(3 < 3); // false
console.log(3 < 5); // true

Comparaison entre un nombre et un BigInt

js
console.log(5n < 3); // false
console.log(3 < 5n); // true

Comparaison entre chaînes de caractères

js
console.log("a" < "b"); // true
console.log("a" < "a"); // false
console.log("a" < "3"); // false

Comparaison entre nombres et chaînes de caractères

js
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

js
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® 2025 Language Specification
# sec-relational-operators

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
Less than (a < b)

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi