== Why is this an issue?

Comparing dissimilar types using the strict equality operators ``++===++`` and ``++!==++`` will always return the same value, respectively ``++false++`` and ``++true++``, because no type conversion is done before the comparison. Thus, such comparisons can only be bugs.

=== Noncompliant code example

[source,javascript]
----
var a = 8;
var b = "8";

if (a === b) {  // Noncompliant; always false
  // ...
}
----

=== Compliant solution

[source,javascript]
----
var a = 8;
var b = "8";

if (a == b) {
  // ...
}
----
or

[source,javascript]
----
var a = 8;
var b = "8";

if (a === Number(b)) {
  // ...
}
----

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

Remove this ["==="|"!=="] check; it will always be [false|true]. Did you mean to use ["=="|"!="]?


include::../highlighting.adoc[]

'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
