--- title: Less than (<) slug: Web/JavaScript/Reference/Operators/Less_than translation_of: Web/JavaScript/Reference/Operators/Less_than ---
The less than operator (<
) returns true
if the left operand is less than the right operand, and false
otherwise.
x < y
The operands are compared using the Abstract Relational Comparison algorithm, which is roughly summarised below:
Symbol.ToPrimitive
with the hint
parameter be 'number'
.true
and false
are converted to 1 and 0 respectively.null
is converted to 0.undefined
is converted to NaN
.NaN
if they do not contain numeric values.NaN
, the operator returns false
.console.log("a" < "b"); // true console.log("a" < "a"); // false console.log("a" < "3"); // false
console.log("5" < 3); // false console.log("3" < 3); // false console.log("3" < 5); // true console.log("hello" < 5); // false console.log(5 < "hello"); // false console.log("5" < 3n); // false console.log("3" < 5n); // true
console.log(5 < 3); // false console.log(3 < 3); // false console.log(3 < 5); // true
console.log(5n < 3); // false console.log(3 < 5n); // true
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
Specification |
---|
{{SpecName('ESDraft', '#sec-relational-operators', 'Relational operators')}} |
{{Compat("javascript.operators.less_than")}}