Да, Вы обращаетесь к одному символу.
Но в данном коде у Вас не проверяется в каком регистре находится символ, а проверяется возвращаемое значение от toLowerCase(). А возвращаемым значением тут всегда будет символ, приведенный к нижнему регистру. Поэтому условие и будет верное.
Если вы хотите проверить, в каком регистре находится символ, то можно это сделать так:
if ( str[i].toLowerCase() === str[i] ) {
// символ в нижнем регистре
} else {
// символ в верхнем регистре
}
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.