ES6 tutvustamisega pakub JavaScript nüüd võimalust deklareerida privaatseid välju klassides. See on eriti oluline andmete kapseldamiseks ja soovimatu juurdepääsu vältimiseks väljastpoolt. Selles õpetuses õpid, kuidas privaatseid välju efektiivselt rakendada ja kasutada, et hoida oma andmed turvaliselt.

Olulisemad järeldused

  • Privaatseid välju deklareeritakse hash-märgi (#) abil.
  • Privaatsetele väljadele pääseb juurde ainult klassi sees.
  • JavaScript ei paku märksõnade-põhist nähtavust nagu teised programmeerimiskeeled.

Samm-sammuline juhend

Klassi deklareerimine ja privaatsete liikmete loomine

Alustame klassi loomisega ja deklareerime privaatse välja. Alustame klassiga, mille nimi on Secret ja mis sisaldab privaatset väljad nimega #secret. See väli salvestab konfidentsiaalseid andmeid, mis ei peaks olema välise juurdepääsu all.

Kasutage JavaScriptis privaateid välju tõhusalt

Klassi instantsi loomine ja meetodi kutsumine

Seejärel loome klassi Secret instantsi ja kutsume välja meetodi print(), et näidata privaatse välja väärtust. See peaks välja nägema järgmiselt:

Katsed välisest juurdepääsust privaatsetele väljadele

Nüüd on huvitav, kui proovid otse väljastpoolt privaatsele väljale #secret juurde pääseda. Sa avastad, et see ei toimi. JavaScripti kompilaator hoiatab sind juba koodi kirjutamise käigus.

Kui sisestad mySecret.#secret, saad Visual Studio Code'is veateate. See näitab, et privaatsetel väljadel on tõepoolest oma eesmärk: nad ei ole klassist väljastpoolt ligipääsetavad.

Nähtavuse kontrollimine Object Keys abil

Hea testimisvõte on kontrollida, kas privaatne väli kuvatakse, kui kasutada Object.keys(). Kui proovid loetleda instantsi võtmeid, peaksid nägema, et #secret ei ole loetletud.

Sa näed, et privaatne väli ei ole loetletud. Nii avaneb JavaScripti andmete kapseldamise eelis.

Erinevus varasemate konventsioonide vahel

Varem olid konventsioonid, mis kasutavad kahefaktilisi allajoonimisi privaatsete väljade näitamiseks. Kuid see meetod ei toimi tõeliselt, kuna ei ole kaitset privaatsete omaduste juurdepääsu vastu. Privaatsete väljade tutvustamisega hash-märgi abil on sul nüüd puhas ja tõhus meetod privaatsete muutujate deklareerimiseks.

Statiliste privaatsete väljade loomine

Sa võid samuti deklareerida statilisi privaatseid välju oma klassis. See töötab sarnaselt instantsivariantidele, kuid nõuab algatamisel veidi erinevat lähenemist.

console.log(Secret.getPrivateStaticField()); // Väljund: "Ma olen privaatne"

Oluline on märkida, et saad staatilise juurdepääsu teha klassi nime süntaksiga.

Kokkuvõte

Privaatsete väljade kasutamine JavaScripti klassides võimaldab tagada, et olulisi andmeid töödeldakse ainult klassi sees. See on suur eelis andmete kapseldamisel ja turvalisusel. Sa oled nüüd õppinud, kuidas privaatseid välju rakendada, väljastpoolt neile juurde pääseda ja andmete kapseldamist efektiivselt kaitsta.

Kokkuvõte – Privaatsete väljade efektiivne kasutamine JavaScripti klassides

Selles juhendis oled õppinud protsessi privaatsete väljade rakendamiseks ja kasutamiseks JavaScripti klassides. Sa tead nüüd, et privaatsete väljade deklareerimine toimub hash-märgi (#) abil ja juurdepääs väljastpoolt ei ole võimalik.

Korduma kippuvad küsimused

Mis on privaatväljad JavaScriptis?Privaatväljad on klassi omadused, mis ei ole väljastpoolt ligipääsetavad ja millele saab juurde pääseda ainult klassi sees.

Kuidas deklareerida privaatne väli?Privaatne väli deklareeritakse hash-märgi (#) paigutamisega nime ette, nt #minuPrivaatneVäli.

Kas ma saan privaatseid välju staatiliselt deklareerida?Jah, saad privaatseid välju ka staatiliselt deklareerida, kasutades süntaksit static #väljanimi.

Warum sind privaatväljad olulised?Privaatväljad kaitsevad sinu andmeid volitamata juurdepääsu eest väljastpoolt ning edendavad kapseldamist objektorienteeritud programmeerimisel.

Kuidas toimib juurdepääs privaatsetele väljadele?Privaatsetele väljadele saab juurde pääseda ainult klassi sees. Väline skript või teine kood ei saa neile otse ligi pääseda.