Чему равна строка при сравнении с числом в Javascript?
Читаем спецификацию:
The comparison x == y, where x and y are values, produces true or false. Such a comparison is performed as follows:
...
5. If Type(x) is String and Type(y) is Number, return the result of the comparison ToNumber(x) == y.
Чиаем, что за ToNumber такой:
ToNumber applied to Strings applies the following grammar to the input String. If the grammar cannot interpret the String as an expansion of StringNumericLiteral, then the result of ToNumber is NaN.
Следовательно JS читает ваше выражение так:'A' == 65
// =>
Number('A') == 65
// =>
NaN == 65
// =>
false
Всё просто и понятно :)
Тут два небольших ньюанса: 
1. По кодам сравниваются лишь строка со стокой.
2. При сравнении числа приводятся к строке, если мы сравнимаем на ==, !=, и строки к числам - <, >, >=, <=