Konflik Nama Kaedah dan Sifat dalam OOP di JavaScript

Nama sifat dan kaedah tidak boleh bertindan, ini akan menyebabkan konflik. Mari kita lihat contoh. Katakan kita mempunyai kelas berikut:

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

Mari buat objek daripada kelas ini:

javascriptlet user = new User;

Mari panggil kaedahnya, buat masa ini semuanya akan berfungsi:

javascriptuser.name(); // berfungsi

Sekarang mari tulis data ke dalam sifat yang sama nama, dengan itu menimpa kod kaedah:

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

Untuk mengelakkan konflik sedemikian, sentiasa beri nama kaedah sebagai kata kerja, dan sifat sebagai kata nama.

Задание 1

Betulkan ralat yang dilakukan dalam kod berikut:

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