Conflits de noms de méthodes et de propriétés en POO en JavaScript

Les noms des propriétés et des méthodes ne doivent pas coïncider, cela provoquera un conflit. Regardons un exemple. Supposons que nous ayons la classe suivante :

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

Créons un objet de cette classe :

javascriptlet user = new User;

Appelons sa méthode, pour l'instant tout fonctionne :

javascriptuser.name(); // fonctionne

Maintenant, écrivons des données dans la propriété du même nom, écrasant ainsi le code de la méthode :

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

Pour éviter de tels conflits, donnez toujours aux méthodes des noms-verbes, et aux propriétés des noms-noms.

Задание 1

Corrigez l'erreur commise dans le code suivant :

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