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:
class User {
name() {
console.log('method');
}
}
Mari buat objek dari kelas ini:
let user = new User;
Panggil metodenya, untuk saat ini semua akan bekerja:
user.name(); // bekerja
Sekarang mari kita tulis data ke properti dengan nama yang sama, sehingga menimpa kode metode tersebut:
user.name = 'str';
user.name(); // error
Untuk menghindari konflik seperti ini, selalu beri nama metode dengan kata kerja, dan properti dengan kata benda.
Perbaiki kesalahan yang dilakukan dalam kode berikut:
class Employee {
constructor(salary) {
this.salary = salary;
}
salary() {
return this.salary + '
;
}
}