⊗jsOpBsGSA 18 of 60 menu

Бартариҳои сеттерҳо ва геттерҳо дар ООП дар JavaScript

Дар дарси гузашта мо барои ҳар як хосият геттер ва сеттер сохтем. Мумкин аст саволе ба миён ояд, ки чаро ин гуна мураккабот лозим аст, зеро дар асл ҳамин таъсирро метавон ба даст овард, агар хосиятҳоро оммавӣ сохт, на махфӣ.

Масъала он аст, ки геттерҳо ва сеттерҳо бартарӣ доранд: пеш аз муроҷиат ба хосият метавон баъзе тафтишҳо анҷом дод. Барои намуна, дар ҳолати мо мо ҳангоми навиштан ному насаб метавон тафтиш кунем, ки арзиши нав набояд сатри холӣ бошад:

class User { #name; #surn; setName(name) { if (name.length > 0) { this.#name = name; } else { throw new Error('name is incorrect'); } } setSurn(surn) { if (surn.length > 0) { this.#surn = surn; } else { throw new Error('surn is incorrect'); } } getName() { return this.#name; } getSurn() { return this.#surn; } }

Биёед санҷем, ки ин чӣ гуна кор мекунад. Аввалан объекти классро эҷод мекунем:

let user = new User;

Ҳоло кӯшиш мекунем, ки арзиши дурустро нависем:

user.setName('john');

Ва ҳоло кӯшиш мекунем, ки арзиши нодурустро нависем:

user.setName(''); // хатогӣ

Дар синфи Employee дар сеттери синну сол тафтиш кунед, ки синну сол бояд аз 0 то 120 бошад.

Дар синфи Employee дар геттери маошия чун кор кунед, ки ҳангоми хондани маошия ба охири он арзиш аломати доллар илова шавад.

Тоҷикӣ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан