JavaScriptтеги ООПде методдордун жана касиеттердин аталыш конфликттери

Касиеттердин жана методдордун аталыштар дал келе албайт, бул конфликтти чакырат. Келгиле, мисал аркылуу карап көрөлү. Бизде төмөнкү классты болсун:

javascriptclass User {
  name() {
    console.log('метод');
  }
}

Бул класстын объектисин түзөлү:

javascriptlet user = new User;

Анын методун чакыралы, азырынча баары иштей берет:

javascriptuser.name(); // иштейт

Эми дал келген касиетке маалымат жазып, ошентип методдун кодун өчүрөлү:

javascriptuser.name = 'str';
user.name(); // ката

Ушундай конфликттерден арылуу үчүн ар дайым методдорго этиш-аталыштарды, касиеттерге болсо зат-аталыштарды бериңиз.

Задание 1

Төмөнкү коддо кетирилген катаны оңдоп бериңиз:

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