1
resposta

Diferença entre return this.salario *= 12; para return this.salario * 12;

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 .

1 resposta

*= é 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.