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