noDoubleEquals (since v0.7.0)
This rule is recommended by Rome.
Require the use of === and !==
It is generally bad practice to use == for comparison instead of ===. Double operators will triger implicit type coercion and are thus not prefered. Using strict equality operators is almost always best practice.
For ergonomic reasons, this rule makes an exception for == null for comparing to both null and undefined.
Examples
Invalid
foo == bar error[js/noDoubleEquals]: Use === instead of ==
┌─ js/noDoubleEquals.js:1:5
│
1 │ foo == bar
│ ^^ == is only allowed when comparing against null
Suggested fix: Use ===
| @@ -1 +1 @@
0 | - foo == bar
0 | + foo === bar
= note: Using === may be unsafe if you are relying on type coercion
Valid
foo == null foo != null null == foo null != foo