Carregando o concurso…
Uma equipe de desenvolvimento está construindo um sistema de folha de pagamento em TypeScript e se depara com o seguinte código:
interface Funcionario {
nome: string;
salarioBase: number;
}
class Gerente implements Funcionario {
constructor(public nome: string, public salarioBase: number, public bonus: number) {}
}
function calcularPagamento(funcionarios: Funcionario[]): number {
return funcionarios.reduce((total, f) => {
if (f instanceof Gerente) {
return total + f.salarioBase + f.bonus;
}
return total + f.salarioBase;
}, 0);
}
const equipe: Funcionario[] = [
new Gerente('Ana', 10000, 2000),
{ nome: 'Bruno', salarioBase: 5000 }
];
console.log(calcularPagamento(equipe));Considerando as características da linguagem TypeScript e a semântica do código, assinale a alternativa correta.
Selecione uma alternativa pra criar sua conta e salvar o progresso.