35 lines
772 B
Plaintext
Raw Normal View History

2021-04-28 16:49:39 +02:00
The use of comparison operators (``++<++``, ``++<=++``, ``++>=++``, ``++>++``) with strings is not likely to yield the expected results. Make sure the intention was to compare strings and not numbers.
2021-04-28 16:49:39 +02:00
== Noncompliant Code Example
----
var appleNumber = "123";
var orangeNumber = "45";
if (appleNumber < orangeNumber) { // Noncompliant, this condition is true
alert("There are more oranges");
}
----
2021-04-28 16:49:39 +02:00
== Compliant Solution
----
var appleNumber = "123";
var orangeNumber = "45";
if (Number(appleNumber) < Number(orangeNumber)) {
alert("There are more oranges");
}
----
2021-04-28 16:49:39 +02:00
== Exceptions
The rule ignores string comparisons occurring in the callback of a sort invocation, e.g.:
----
const fruits = ['orange', 'apple', 'banana'];
fruits.sort((a, b) => a < b);
----