Sodoben JavaScript z ES6–ES13 (JS-vodič)

Učinkovita uporaba zasebnih spremenljivk v JavaScriptu

Vsi videoposnetki vadnice Sodoben JavaScript z ES6-ES13 (JS-vodnik)

Z uvedbo ES6 JavaScript sedaj ponuja možnost za deklaracijo private polj v razredih. To je še posebej pomembno za kapsulacijo podatkov in preprečevanje nezaželenega dostopa od zunaj. V tem priročniku se boste naučili, kako učinkovito implementirati in uporabljati zasebna polja ter ohranjati svoje podatke varne.

Najpomembnejši ugotovitve

  • Zasebna polja so deklarirana z določitvijo znaka hash (#).
  • Dostop do zasebnih polj je mogoč le znotraj razreda.
  • JavaScript ne ponuja vidnosti, ki temelji na ključnih besedah, kot druge programske jezike.

Navodila po korakih

Deklaracija razreda in ustvarjanje zasebnih članov

Najprej ustvarimo razred in deklariramo zasebno polje. Začnemo z razredom, ki se imenuje Secret in vsebuje zasebno polje z imenom #secret. To polje shranjuje zaupne informacije, ki ne smejo biti dostopne od zunaj.

Učinkovita uporaba privatnih polj v JavaScriptu

Ustvarjanje instance razreda in klic metode

Naslednje, kar naredimo, je ustvarjanje instance razreda Secret in klic metode print(), da izpišemo vrednost zasebnega polja. To bi moralo izgledati takole:

Poskus dostopa od zunaj do zasebnih polj

Zdaj postane zanimivo, ko poskusiš neposredno dostopati do zasebnega polja #secret od zunaj. Ugotovil/a boš, da to ne deluje. JavaScript prevajalnik te bo opozoril že med pisanjem kode.

Ko vneseš mySecret.#secret, dobiš sporočilo o napaki v Visual Studio Code. To kaže, da zasebna polja dejansko opravljajo svojo nalogo: niso dostopna od zunaj razreda.

Preverjanje vidnosti z Object Keys

Dobro testiranje je preverjanje, ali se zasebno polje prikaže pri uporabi Object.keys(). Ko poskusiš naštevati ključe instance, bi moral/a videti, da #secret ni na seznamu.

Vidite, da zasebno polje ni na seznamu. S tem se kaže prednost kapsulacije podatkov v JavaScriptu.

Razlika v primerjavi s prejšnjimi konvencijami

Prej so bile konvencije, ki so z uporabo dvojnih podčrtajev označevale zasebna polja. Vendar ta metoda v resnici ne deluje, saj ne nudi zaščite proti dostopu do zasebnih lastnosti. Z uvedbo zasebnih polj s simbolom hash imaš zdaj čist in učinkovit način za deklaracijo zasebnih spremenljivk.

Ustvarjanje statičnih zasebnih polj

Prav tako lahko v svojem razredu deklariraš statična zasebna polja. To deluje podobno kot pri instančnih spremenljivkah, vendar zahteva nekoliko drugačen postopek pri inicializaciji.

console.log(Secret.getPrivateStaticField()); // Izhod: "Jaz sem zasebno"

Pomembno je opozoriti, da dostop do statičnih članov izvedeš s sintakso imena razreda.

Zaključek

Z uporabo zasebnih polj v razredih JavaScript lahko zagotoviš, da se pomembni podatki obdelujejo le interno znotraj razreda. To je velika prednost za kapsulacijo in varnost tvojih podatkovnih struktur. Zdaj si se naučil/a, kako implementirati zasebna polja, dostopati do njih od zunaj in učinkovito zagotavljati kapsulacijo podatkov.

Povzetek – Učinkovita uporaba zasebnih polj v razredih JavaScript

V tem priročniku si se naučil/a postopek implementacije in uporabe zasebnih polj v razredih JavaScript. Zdaj veš, da se deklaracija zasebnih polj izvaja z dodelitvijo znaka hash (#) in da dostop od zunaj ni mogoč.

Pogosto zastavljena vprašanja

Kaj so zasebna polja v JavaScriptu?Zasebna polja so lastnosti razreda, ki niso dostopne od zunaj in jih je mogoče obdelovati le znotraj razreda.

Kako deklariram zasebno polje?Zasebno polje se deklarira z predpostavljanjem znaka hash (#) pred imenom, npr. #mojeZasebnoPolje.

Ali lahko zasebna polja deklariram statično?Da, lahko tudi statično deklariraš zasebna polja z uporabo sintakse static #imePolja.

Zakaj so zasebna polja pomembna?Zasebna polja ščitijo tvoje podatke pred nepooblaščenim dostopom od zunaj in spodbujajo kapsulacijo v objektno usmerjenem programiranju.

Kako deluje dostop do zasebnih polj?Do zasebnih polj se lahko dostopa samo znotraj razreda. Zunanji skript ali drug koda ne more neposredno dostopati do njih.