С учетом следующего кода:
if ("string") {
console.log('true!');
}
//logs "true" to the console
if ("string"==true) {
console.log('true!');
}
//doesn't log anything
Почему это происходит? Я думал, что "string" было добавлено к числу, как и булево. Итак, true становится 1, а "string" становится NaN. Второй оператор if имеет смысл, но я не понимаю, почему первый оператор вызывает оценку внутреннего цикла. Что здесь происходит?