⊗jsOpBsGSA 18 of 60 menu

Fördelar med setters och getters i OOP i JavaScript

I föregående lektion skapade vi för varje egenskap en getter och setter. Man kan fråga sig varför sådana komplexiteter är nödvändiga, eftersom samma effekt faktiskt kan uppnås om man gör egenskaperna publika istället för privata.

Saken är att getters och setters har fördelar: innan åtkomst till egenskapen kan man utföra vissa kontroller. Till exempel, i vårt fall kan vi när vi skriver förnamn och efternamn kontrollera att det nya värdet inte är en tom sträng:

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; } }

Låt oss kontrollera hur detta fungerar. Först skapar vi ett objekt av klassen:

let user = new User;

Låt oss nu försöka skriva ett korrekt värde:

user.setName('john');

Och låt oss nu försöka skriva ett inkorrekt värde:

user.setName(''); // error

I klassen Employee, gör i settern för ålder en kontroll så att ålder måste vara från 0 till 120.

I klassen Employee, gör i gettern för lön så att när lönen läses läggs en dollartecken till i slutet av dess värde.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa