ES6:n käyttöönoton myötä JavaScript tarjoaa nyt mahdollisuuden määrittää yksityisiä kenttiä luokissa. Tämä on erityisen tärkeää tietojen kapseloinnin ja ei-toivottujen ulkoisten pääsyjen estämisen kannalta. Tässä oppaassa opit, miten voit tehokkaasti toteuttaa ja käyttää yksityisiä kenttiä, jotta tietosi pysyvät turvassa.
Tärkeimmät havainnot
- Yksityiset kentät ilmoitetaan hash-merkillä (#).
- Yksityisiin kenttiin on pääsy vain luokan sisällä.
- JavaScript ei tarjoa avainsanaan perustuvaa näkyvyyttä kuten muut ohjelmointikielet.
Vaiheittainen ohje
Määritä luokka ja luo yksityisiä jäseniä
Aluksi luomme luokan ja määritämme yksityisen kentän. Aloitamme luokalla, jonka nimi on Secret ja joka sisältää yksityisen kentän nimeltä #secret. Tämä kenttä tallentaa luottamuksellisia tietoja, joita ei pitäisi olla ulkoisten käytettävissä.

Luo luokan instanssi ja kutsu menetelmää
Seuraavaksi luomme luokan Secret instanssin ja kutsumme print()-menetelmää tulostaaksemme yksityisen kentän arvon. Tämä näyttää seuraavalta:
Yritä päästä käsiksi yksityisiin kenttiin ulkopuolelta
Se tulee mielenkiintoiseksi, kun yrität päästä suoraan käsiksi yksityiseen kenttään #secret ulkopuolelta. Huomaat, että se ei toimi. JavaScript-kääntäjä varoittaa sinua jo koodia kirjoittaessasi.
Kun kirjoitat mySecret.#secret, saat virheilmoituksen Visual Studio Codessa. Tämä osoittaa, että yksityiset kentät täyttävät todella niiden tarkoituksen: ne eivät ole käytettävissä luokan ulkopuolelta.
Tarkista näkyvyys Object Keys -menetelmällä
Hyvä testimenetelmä on tarkistaa, näkyykö yksityinen kenttä, kun käytetään Object.keys()-menetelmää. Kun yrität luetella instanssin avaimia, sinun pitäisi nähdä, että #secret ei ole luettelossa.
Näet, että yksityistä kenttää ei luetella. Tämä osoittaa JavaScriptin tietojen kapseloinnin edun.
Erot aikaisempiin käytäntöihin
Aikaisemmin oli käytäntöjä, jotka merkittiin kaksinkertaisilla alaviivoilla yksityisistä kentistä. Tämä menetelmä ei kuitenkaan toimi kunnolla, koska se ei suojaa pääsyltä yksityisiin ominaisuuksiin. Yksityisten kenttien käyttöönoton myötä hash-merkillä sinulla on nyt puhdas ja tehokas tapa ilmoittaa yksityisistä muuttujista.
Luo staattisia yksityisiä kenttiä
Voit myös määrittää staattisia yksityisiä kenttiä luokassasi. Tämä toimii samalla tavalla kuin instanssimuuttujat, mutta se vaatii hiukan erilaisen lähestymistavan alustusvaiheessa.
console.log(Secret.getPrivateStaticField()); // Tuloste: "Olen yksityinen"
On tärkeää huomata, että teet staattisen pääsyn luokan nimen syntaksilla.
Yhteenveto
Käyttämällä yksityisiä kenttiä JavaScript-luokissa voit varmistaa, että tärkeät tiedot käsitellään vain luokan sisällä. Tämä on suuri etu tietojen kapseloinnissa ja turvallisuudessa. Olet nyt oppinut, kuinka toteuttaa yksityisiä kenttiä, saada niihin pääsy ulkopuolelta ja tehokkaasti suojata tietojen kapselointi.
Yhteenveto – Yksityisten kenttien tehokas käyttö JavaScript-luokissa
Tässä oppaassa olet oppinut prosessin yksityisten kenttien toteuttamiseen ja käyttöön JavaScript-luokissa. Nyt tiedät, että yksityiset kentät ilmoitetaan hash-merkillä (#) eikä ulkopuolelta ole pääsyä.
Usein kysytyt kysymykset
Mitkä ovat yksityiset kentät JavaScriptissä?Yksityiset kentät ovat ominaisuuksia luokassa, jotka eivät ole ulkopuolelta saatavilla ja joita voidaan käsitellä vain luokan sisällä.
Kuinka määritän yksityisen kentän?Yksityinen kenttä määritellään asettamalla hash-merkki (#) nimen eteen, esim. #minunYksityinenKenttä.
Voinko määrittää yksityisiä kenttiä staattisesti?Kyllä, voit myös määrittää yksityisiä kenttiä staattisesti käyttämällä syntaksia static #kentänNimi.
Miksi yksityiset kentät ovat tärkeitä?Yksityiset kentät suojaavat tietojasi luvattomalta pääsyltä ja edistävät kapselointia oliopohjaisessa ohjelmoinnissa.
Kuinka pääsy yksityisiin kenttiin toimii?Yksityisiin kenttiin voidaan päästä käsiksi vain luokan sisällä. Ulkoinen skripti tai muu koodi ei voi pääsy suoraan niihin.