Hvordan definere private metoder i JavaScript

Hvordan definere private metoder i JavaScript
Ideen bak å bruke private metoder er grei. Når du vil holde noe privat, enten en metode eller en eiendom, i dette scenariet, kan du definere private metoder eller private egenskaper, som brukes til å skjule den indre funksjonaliteten til en klasse fra de andre klassene. I en JavaScript -klasse kan du legge til private felt, private forekomstmetoder, private statiske metoder og private getttere og settere.

Denne oppskrivningen vil forklare prosedyren for definere private metoder i JavaScript. Så la oss starte!

Private metoder i JavaScript

Type metoder som ikke kan nås utenfor klassen der den er definert eller av baseklassen er kjent, er private metoder. Disse metodene brukes for å sikre den sensitive informasjonen som er lagret i klassefelt som personlig informasjon eller passord.

I en JavaScript -klasse, for å erklære noe som “privat,”Som kan være en metode, egenskap eller getter og setter, må du prefiksere navnet med hasjkarakteren”#”.

Syntaks av privat forekomstmetode

klasse newclass
#privaTemethod ()
// Body of Privatemethod

I den ovennevnte syntaks er den private forekomstmetoden “#privatemethod ”, som bare kan påberopes innen "Newclass”Og du har ikke tilgang til den i underklassen til“Newclass”Eller utenfra.

dette”Søkeord brukes til å ringe“#privatemethod ()”Inne i det skapte”Newclass”:

dette.#privaTemethod ();

Private statiske metoder i JavaScript

Private statiske metoder lastes i minnet før du oppretter en forekomst av den spesifikke klassen, og de er uavhengige av klasseinstantiering.

Syntaks for å definere en privat statisk metode

I et JavaScript -program, for å definere en privat statisk metode, må du bruke nøkkelordet "statisk”Før du legger til metodenavnet med“#”Karakter:

klasse newclass
statisk #PrivaTestaticMethod ()
// kroppen av privatestatisk metod

Nå, for å påkalle den opprettede statiske private metoden, vil vi spesifisere klassenavnet "Newclass”I stedet for å bruke“dette”Nøkkelord:

Newclass.#privatestaticMethod ();

Private getttere og setters i JavaScript

I JavaScript brukes private getttere og settere til å hente og sette de private feltene i en klasse.

Syntaks for å definere private gettes og setters

I JavaScript, “”Og“sett”Nøkkelord brukes til å lage getters og settere for de private feltene:

klasse newclass
#firstfield;
Få #field ()
return #firstfield;

sett #field (verdi)
#firstField = verdi;

Hvordan definere private metoder i JavaScript

De private metodene i JavaScript kan holde dataene dine private. Det er å foretrekke å definere alle klassemetoder som "privat”Som standard. Etter det, hvis et objekt trenger å samhandle med andre klasseobjekter, kan du gjøre det til en "offentlig”Metode.

Eksempel: Hvordan definere private metoder i JavaScript
Først av alt vil vi lage en "Ansatt”Klasse som har to private felt:”#Navn”Og“#Designasjon”. Etter å ha gjort det, vil vi legge til en konstruktør:

klasseansatt
#Navn;
#Designation;
konstruktør (navn, betegnelse)
dette.#Name = Navn;
dette.#Designation = betegnelse;

Deretter vil vi definere de private metodene “#ansattes navn()”Og“ #EmployEdEdesignation ()”For å få verdiene til de ekstra private feltene:

#ansattes navn()
returner '$ dette.#Navn';

#EmployEdEdesignation ()
returner '$ dette.#Designation ';

En "showInfo ()”Offentlig funksjon legges også til i vår ansattklasse som vil påkalle følgende private metoder:

showInfo (format = true)
konsoll.Logg (dette.#EmployEname (), dette.#EmployEdeSignation ());

Etter å ha satt opp ansattsklassen, vil vi lage en "ansatt”Objekt mens du passerer”Alex”Og“sjef”Som verdiene til“Navn”Og“betegnelse" Enger:

La ansatt = ny ansatt ('Alex', 'Manager');

Til slutt vil vi påkalle "showInfo ()”Metode ved å bruke ansattes objekt:

ansatt.showInfo ();

Utførelse av det ovennevnte programmet vil vise de private feltverdiene til “ansatt”Objekt i konsollen:

Eksempel: Hvordan definere private statiske metoder i JavaScript
Vi vil legge til en "#bekrefte()”Privat statisk metode i den ansatte med“Navn" parameter. “#bekrefte()”Metoden vil sjekke om lengden på“Navn”Er større enn eller lik“4“; Ellers vil det kaste et unntak som sier at "Det angitte navnet må være en streng med minst 4 tegn”.

Den nevnte statiske private metoden vil bli lagt til i ansattsklassekonstruktøren slik at den kan validere “Navn”Argument før du tildeler det til den tilsvarende attributtet:

klasseansatt
#Navn;
#Designation;
konstruktør (navn, betegnelse)
dette.#Name = Ansatt.#verify (navn);
dette.#Designation = betegnelse;
statisk #verify (navn)
if (typeof name === 'streng')
La str = navn.listverk();
hvis (str.lengde === 4)
Return Str;


Kast 'Det angitte navnet må være en streng som har minst 4 tegn';

#ansattes navn()
returner '$ dette.#Navn';

#EmployEdEdesignation ()
returner '$ dette.#Designation ';

showInfo (format = true)
konsoll.Logg (dette.#EmployEname (), dette.#EmployEdeSignation ());

I det første tilfellet vil vi lage en "ansatt”Objekt og pass et navn som vil oppfylle den ekstra tilstanden i #Verify () statisk privat metode:

La ansatt = ny ansatt ('Alex', 'Manager');
ansatt.showInfo ();

Etter å ha validert #Name -feltet, kan det enkelt hentes av ShowInfo () -metoden:

For andre gang vil vi spesifisere et navn som består av tre tegn:

La ansatt = ny ansatt ('Sia', 'Manager');
ansatt.showInfo ();

Du kan se fra den undergitte utgangen at den ekstra statiske private metoden har kastet et unntak for ansattes navn:

Navnet "Sia”Som vi har passert i den ansattkonstruktøren er ikke i henhold til“hvis”Uttalelse spesifisert i den statiske #verify () -metoden. Det er derfor "ansatt”Forekomst er ikke opprettet.

Hvorfor du bør bruke private metoder i JavaScript

Her er en liste over noen av fordelene ved å bruke private metoder i JavaScript:

  • Innkapsling er en av de viktigste fordelene ved å bruke private metoder, da det tillater grensesnitt for å skjule implementeringsdetaljene fra andre klasser.
  • Det forbedrer også lesbarhet av koden.
  • Definere private metoder sikrer også kode gjenbrukbarhet og unngår kodedobbelt.
  • Hvis du erklærer alle metodene dine som "offentlige", må du sjekke hvem som skal lese og gjøre endringer i klasseegenskapene.

Konklusjon

Private metoder er definert i JavaScript for å skjule avgjørende klassemetoder eller holde sensitiv informasjon privat. I en klasse, for å definere en privat metodeinstans, privat statisk metode, eller en privat getter og setter, må du prefiksere navnet sitt med hash -tegnet #. Denne oppskrivningen forklarte prosedyren for å definere de private metodene i JavaScript ved hjelp av passende eksempler.