JavaScript да ООПда метод ва хусусиятлар номларининг зиддиятлари

Хусусият ва метод номлари мос келмаслиги керак, бу зиддият келтириб чиқаради. Келтирилган мисолда кўрамиз. Бизда куйидаги синф мавжуд деб фараз қилайлик:

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

Ушбу синфнинг объектини яратамиз:

javascriptlet user = new User;

Унинг методини чақирамиз, ҳозирча ҳаммаси ишлайди:

javascriptuser.name(); // ишлайди

Энди ўша номдаги хусусиятга маълумот ёзайлик, шу билан метод кодини ўчириб ташлаб:

javascriptuser.name = 'str';
user.name(); // хатолик

Бундай зиддиятлардан қочиш учун ҳар доим методларга ҳаракат номлари, хусусиятларга эса от номлари беринг.

Задание 1

Куйидаги кодда қилган хатоликни тузатинг:

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