Avatar ·

TypeScript: erro TS7006 — parâmetro implicitamente tem tipo any, como corrigir?

Olá a todos! Comecei a estudar TypeScript recentemente e me deparei com um erro que não consigo entender. Tenho um código simples para processar um array de usuários. Estou tentando filtrar usuários ativos e exibir seus nomes. Aqui está meu código:

const users = [
  { id: 1, name: 'Анна', active: true },
  { id: 2, name: 'Иван', active: false },
  { id: 3, name: 'Мария', active: true }
];

function getActiveNames(users) {
  return users
    .filter(user => user.active)
    .map(user => user.name);
}

const activeNames = getActiveNames(users);
console.log(activeNames);

Quando executo o compilador TypeScript, recebo o erro: TS7006: Parameter 'users' implicitly has an 'any' type. Não entendo o que isso significa. Afinal, estou passando um array de objetos, e o TypeScript deveria adivinhar qual é o tipo do parâmetro. Por que esse erro ocorre e como corrigi-lo? Li que é possível desabilitar a tipagem estrita no tsconfig.json, mas isso parece não ser