Skip to main content

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