⊗jsOpBsGSA 18 of 60 menu

Fordeler med settere og gettere i OOP i JavaScript

I forrige leksjon lagde vi en getter og setter for hver egenskap. Man kan spørre seg hvorfor slike komplikasjoner er nødvendige, siden man faktisk kan oppnå den samme effekten ved å gjøre egenskapene offentlige, ikke private.

Saken er at gettere og settere har en fordel: før tilgang til en egenskap kan man utføre noen kontroller. For eksempel, i vårt tilfelle kan vi når vi skriver fornavn og etternavn sjekke at den nye verdien ikke er en tom streng:

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

La oss sjekke hvordan dette fungerer. Først oppretter vi et objekt av klassen:

let user = new User;

Nå skal vi prøve å skrive en korrekt verdi:

user.setName('john');

Og nå skal vi prøve å skrive en ukorrekt verdi:

user.setName(''); // feil

I klassen Employee, i setteren for alder, gjør en sjekk på at alderen må være fra 0 til 120.

I klassen Employee, i getteren for lønn, gjør det slik at ved lesing av lønn legges det til et dollartegn på slutten av verdien.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis