Konflikti imen metod in lastnosti v OOP v JavaScript

Imena lastnosti in metod ne smejo sovpadati, saj bo to povzročilo konflikt. Poglejmo si primer. Recimo, da imamo naslednji razred:

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

Ustvarimo objekt tega razreda:

javascriptlet user = new User;

Pokličimo njegovo metodo, za zdaj vse deluje:

javascriptuser.name(); // deluje

Zdaj pa zapišimo podatke v istoimensko lastnost in s tem prepišimo kodo metode:

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

Da bi se izognili takšnim konfliktom, vedno dajajte metodam imena-glagoli, lastnostim pa imena-samostalniki.

Задание 1

Popravite napako, ki je bila storjena v naslednji kodi:

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