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
The following are ture:
null==undefined
2=={valueof:function () {return 2}}
1==true
{tostring:function () {return 1}, Valueof:function () {return []}} = = 1
The following is false:
Nan = = Nan
0==undefined
8==undefined
1 = = undefined
Null = = {Tostring:function () {return 2}}
0 = = NULL
NULL = = 1
JS implicit type conversion steps