Konflik Nama Metode dan Properti dalam OOP JavaScript

Nama properti dan metode tidak boleh bertabrakan, ini akan menyebabkan konflik. Mari kita lihat contohnya. Misalkan kita memiliki kelas berikut:

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

Mari buat objek dari kelas ini:

javascriptlet user = new User;

Panggil metodenya, untuk saat ini semua akan bekerja:

javascriptuser.name(); // bekerja

Sekarang mari kita tulis data ke properti dengan nama yang sama, sehingga menimpa kode metode tersebut:

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

Untuk menghindari konflik seperti ini, selalu beri nama metode dengan kata kerja, dan properti dengan kata benda.

Задание 1

Perbaiki kesalahan yang dilakukan dalam kode berikut:

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