Хусусиятҳои хусусӣ дар ООП дар JavaScript
Хусусиятҳои объект, ки аз берун хондан ва навиштан мумкин аст, оммавӣ номида мешаванд. Инчунин хусусӣ хусусиятҳо мавҷуданд, ки танҳо дар дохили сinf мумкин аст.
Номҳои хусусиятҳои хусусӣ бояд
бо аломати # оғоз шаванд.
Ғайр аз ин, чунин хусусиятҳо бояд
дар аввали рамзи синф эълон карда шаванд.
Биёед инро иҷро кунем:
class User {
#name;
}
Акнун маълумотро ба хусусияти мо нависем. Инро, масалан, дар конструктори синф иҷро кардан мумкин аст:
class User {
#name;
constructor(name) {
this.#name = name;
}
}
Акнун усуле созем, ки қимати хусусияти моро бармегардонад:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Объекти синфро созем, дар ҳоле ки номи корбарро параметр мегузаронем:
let user = new User('john');
Кӯшиши муроҷиати мустақим ба хусусияти мо берун аз синф ба хатогӣ меоварад:
console.log(user.#name); // хатогӣ
Ва фарохонӣ кардани усули мо имкон медиҳад, ки ин хусусиятро хонед:
console.log(user.show()); // 'john'-ро чоп мекунад
Дар синфи Employee се
хусусияти хусусӣ созед: ном, маош
ва синну сол.
Қиматҳои ин хусусиятҳоро параметри конструктор гузаронед.
Усуле созед, ки маълумоти кормандро чоп мекунад.