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