Original: JavaScript implicit type conversion steps
The implicit type conversion, which is said here, is the conversion caused by = =.
- Returns False if there is a Nan
- And see if there's a Boolean, and Boolean converts the Boolean to a number.
- Then see if there are no strings, there are three cases, the other is the object, the object is converted using ToString, the other is the number, the string to the number, the other side is a string, direct comparison;
- If it is a number, the object is the object, the objects are compared with valueof, and the others return false.
- Null, undefined does not perform type conversions, but they are both equal
This order must be remembered, which is often asked during the interview.
Here are some miscellaneous questions, do it yourself
0 = = Undefined1 = = True2 = = {Valueof:function () {return 2}}nan = = NaN 8 = = Undefined1 = undefined Null = = {Tostring:func tion () {return 2}} 0 = = NULL NULL = = 1 {tostring:function () {return 1}, Valueof:function () {return []}} = = 1
JavaScript implicit type conversion steps