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 .
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.