Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Alternativa "a" e alternativa "c" parecem conter o mesmo código

Me parece ser o mesmo, nas 2 alternativas...

Alternativa A:

class CalculadorDeArea {
    static calcula(...areas: AreaCalculavel[]): number {
        return areas.reduce((total, area) => total + area.calculaArea(), 0);
    }
}

const quadrado = new Quadrado(30);
const retangulo = new Retangulo(50, 30);
const circulo = new Circulo(20);

const total = CalculadorDeArea.calcula(quadrado, retangulo, circulo);
console.log(total);

Alternativa B:

class CalculadorDeArea {
    static calcula(areas: AreaCalculavel[]): number {
        return areas.reduce((total, area) => total + area.calculaArea(), 0);
    }
}

const quadrado = new Quadrado(30);
const retangulo = new Retangulo(50, 30);
const circulo = new Circulo(20);

const total = CalculadorDeArea.calcula(quadrado, retangulo, circulo);
console.log(total);
1 resposta
solução!

Encontrei a diferença depois de ler os códigos varias vezes, tentei apagar o tópico mas não encontrei essa opção. O que não me atentei no código foi o REST OPERATOR ...

Alternativa A: static calcula(...areas: AreaCalculavel[]):

Alternativa B: static calcula(areas: AreaCalculavel[]):