This is due to the equality operator == does kind coercion, that means that the interpreter implicitly attempts to convert the values just before comparing. In the case of "a === b" a and b need to be the same value in addition to precisely the same type for it https://www.thelorrylife.com/embark-on-a-journey-to-langdon-exploring-the-essence-of-langdon-real-estate/