JavaScriptda OOPda metod va xususiyat nomlari to‘qnashuvi

Xususiyat va metod nomlari bir xil bo‘lmasligi kerak, aks holda to‘qnashuv yuzaga keladi. Keling, buni misolda ko‘ramiz. Quyidagi klassimiz bor deb faraz qilaylik:

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

Ushbu klassning ob'ektini yaratamiz:

javascriptlet user = new User;

Uning metodini chaqiramiz, hozircha hammasi ishlaydi:

javascriptuser.name(); // ishlaydi

Endi esa bir xil nomdagi xususiyatga ma'lumot yozamiz, shu bilan metod kodini o‘chirib tashlaymiz:

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

Bunday to‘qnashuvlarning oldini olish uchun har doim metodlarga fe'l nomlarini, xususiyatlarga esa ot nomlarini bering.

Задание 1

Quyidagi kodda qilingan xatoni tuzating:

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