Skip to main content

noDoubleEquals

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
warning[noDoubleEquals]: Use === instead of ==
   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