Konfliktet e emrave të metodave dhe vetive në OOP në JavaScript

Emrat e vetive dhe metodave nuk duhet të përputhen, kjo do të shkaktonte konflikt. Le të shohim një shembull. Le të themi se kemi klasën e mëposhtme:

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

Le të krijojmë një objekt të kësaj klase:

javascriptlet user = new User;

Le të thirrim metodën e tij, për momentin çdo gjë do të funksionojë:

javascriptuser.name(); // funksionon

Tani le të shkruajmë të dhëna në vetinë me të njëjtin emër, duke e fshirë kështu kodin e metodës:

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

Për të shmangur konflikte të tilla gjithmonë jini emra-folje metodave, ndërsa vetive - emra-emra.

Задание 1

Korrigjoni gabimin e bërë në kodin e mëposhtëm:

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