С учетом следующего кода:
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 имеет смысл, но я не понимаю, почему первый оператор вызывает оценку внутреннего цикла. Что здесь происходит?