Странная javascript ошибка при итерации по массиву - PullRequest
1 голос
/ 12 июля 2020

Рассмотрим следующий код:

const testArray = ['string1', 'string2', 'string3'];

for (let iterator in testArray) {
    console.log(iterator == 0);
}

Моя IDE (код Visual Studio) жалуется на console.log, который всегда возвращает false (ошибка: ts(2367))

Но если я ввожу этот код прямо здесь, в JSBin или в моем текущем браузере, я всегда получаю результат true на первой итерации. Кто-нибудь может объяснить мне, виновата ли в этом моя IDE, или, может быть, это какое-то устаревшее javascript, где это условие действительно всегда возвращает false?

На основе этой таблицы https://dorey.github.io/JavaScript-Equality-Table/ также кажется, что приведенный выше код действителен и будет работать должным образом.

const testArray = ['string1', 'string2', 'string3'];

for (let iterator in testArray) {
    console.log(iterator == 0);
}
...