Avatar ·

Como percorrer um array em JavaScript: forEach, for, for...of e outras formas

Olá a todos! Comecei a estudar JavaScript e não consigo entender como percorrer arrays. Tenho um array simples com nomes de usuários:\n\n
const users = ['Anna', 'Ivan', 'Maria', 'Petr'];
\n\nPreciso exibir cada nome no console. Tentei usar o loop for comum, mas sempre me confundo com os índices e o comprimento do array. Por exemplo, escrevo:\n\n
for (let i = 0; i <= users.length; i++) {\n    console.log(users[i]);\n}
\n\nE no final recebo undefined. Por que isso acontece? Ouvi dizer que existe o método forEach, mas não entendo como ele funciona e qual a diferença do for comum. Também vi algo sobre for...of e for...in, mas fiquei confuso.\n\nPor favor, me digam qual é a melhor forma de percorrer um array no JavaScript moderno.