Less than (<) - JavaScript 编辑
The less than operator (<
) returns true
if the left operand is less than the right operand, and false
otherwise.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Syntax
x < y
Description
The operands are compared using the Abstract Relational Comparison algorithm, which is roughly summarised below:
- First, objects are converted to primitives using
Symbol.ToPrimitive
with thehint
parameter be'number'
. - If both values are strings, they are compared as strings, based on the values of the Unicode code points they contain.
- Otherwise JavaScript attempts to convert non-numeric types to numeric values:
- Boolean values
true
andfalse
are converted to 1 and 0 respectively. null
is converted to 0.undefined
is converted toNaN
.- Strings are converted based on the values they contain, and are converted as
NaN
if they do not contain numeric values.
- Boolean values
- If either value is
NaN
, the operator returnsfalse
. - Otherwise the values are compared as numeric values.
Examples
String to string comparison
console.log("a" < "b"); // true
console.log("a" < "a"); // false
console.log("a" < "3"); // false
String to number comparison
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
Number to Number comparison
console.log(5 < 3); // false
console.log(3 < 3); // false
console.log(3 < 5); // true
Number to BigInt comparison
console.log(5n < 3); // false
console.log(3 < 5n); // true
Comparing Boolean, 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
Specifications
Specification |
---|
ECMAScript (ECMA-262) The definition of 'Relational operators' in that specification. |
Browser compatibility
BCD tables only load in the browser
See also
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论