Home > Article > Web Front-end > Should I use '==' or '===' in JavaScript? Answer
=== should be used in most cases. x == null can only be used when detecting null/undefined, because usually we do not distinguish between null and undefined, that is, x == null is regarded as x === null || x == = Abbreviation for undefined. The comparison of
== seems to be more convenient, such as 1 == '1' , but it will also cause hidden dangers, such as making wrong assumptions about types.
Example:
if (x == 10) x += 5 www.2cto.com
If the incoming x is the string '10', the result of x will become '105'. The string '105' may be transformed in subsequent operations, thereby introducing hidden errors.
In addition, programmers may unconsciously rely on certain assumptions - for example, equality comparison should be transitive, that is, a = b, b = c, should lead to a = c. But JavaScript's == is not transitive. For example, 0 == '0' , 0 == '' , but '0' != '' .
So JS’s == is not Java/C#’s equals(), because the Java/C# language requires equals() to ensure transitivity.
In short, for large-scale programming, the small convenience of == cannot be compared with the risks it brings.
Suggestion:
Forget ==, just use ===. ==It's a design mistake. It will try to perform type conversion (not Java's equal, it is well defined), and the rules of type conversion are difficult to remember. And also breaks transitivity.
Just use ===,! ==, your life of writing javascript will be more comfortable