This article introduces the differences between two equal signs and three equal signs in js. For more information, see = equality, = identity Heng.
=, When the value types on both sides are different, type conversion should be performed first and then comparison should be made.
===, No type conversion is required. The types may vary.
The descriptions are as follows:
=, Which is relatively simple. The following rules are used to determine whether two values are equal:
1. If the types are different, [not equal]
2. If both are numerical values and the values are the same, [equal]; (! If at least one of them is NaN, [not equal]. (You can only use isNaN () to determine whether a value is NaN)
3. If both are strings and the characters at each position are the same, [equal]; otherwise [not equal].
4. If both values are true or false, [equal].
5. If both values reference the same object or function, [equal]; otherwise [not equal].
6. If both values are null or undefined, [equal].
Then, according to the following rules:
1. If the two values are of the same type, compare them with =.
2. If the two values have different types, they may be equal. Perform type conversion and comparison based on the following rules:
A. If one is null and the other is undefined, [equal].
B. if one is a string and the other is a numerical value, convert the string to a numerical value before comparison.
C. If any value is true