Meu codigo estava dando tudo errado por conta de eu usar *= ao invés de *, gostaria de saber a diferença entre essas duas operações, principalmente ao usar o return .
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Meu codigo estava dando tudo errado por conta de eu usar *= ao invés de *, gostaria de saber a diferença entre essas duas operações, principalmente ao usar o return .
*= é um operador de multiplicação e atribuição, enquanto * somente multiplica.
Exemplo:
a = 3;
return a * 2;
Retornará 6 e o a continuará valendo 3.
Já o código:
a = 3;
return a *= 2;
Retornará 6 mas o a valerá 6 também! Pois a operação feita foi: a = a * 2.
No seu caso, você estava retornando e atribuindo ao this.salario em vez de somente retornar o valor dele.