JavaScript "loose" comparison step by step

When you start learning JavaScript, you will likely read about preferring to use === over == to compare values.

But why?

== performs type conversion: If the two values are not of the same data type, they are converted to the same type first. While this seems, and can be, convenient, this process is not necessarily intuitive.

Below you can provide two values to compare, and see which steps of the "Abstract Equality Algorithm" as defined in Section 7.2.14 of the ECMAScript specification are executed.