Conflitos de nomenclatura de métodos e propriedades em POO em JavaScript

Os nomes de propriedades e métodos não devem coincidir, pois isso causará um conflito. Vamos ver um exemplo. Suponha que temos a seguinte classe:

javascriptclass User {
  name() {
    console.log('method');
  }
}

Vamos criar um objeto desta classe:

javascriptlet user = new User;

Vamos chamar seu método, por enquanto tudo funcionará:

javascriptuser.name(); // funciona

Agora, vamos atribuir dados à propriedade de mesmo nome, substituindo assim o código do método:

javascriptuser.name = 'str';
user.name(); // erro

Para evitar tais conflitos, sempre dê aos métodos nomes que são verbos, e às propriedades, nomes que são substantivos.

Задание 1

Corrija o erro cometido no seguinte código:

javascriptclass Employee {
  constructor(salary) {
    this.salary = salary;
  }
  salary() {
    return this.salary + '
;
  }
}