⊗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 для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць