JavaScript je programski jezik, ki se uporablja v različnih okoljih, najpogosteje v spletnih brskalnikih. Njegovo standardizirano ime je ECMAScript. Danes ga uporabljamo za interaktivne spletne strani, delo z dogodki, asinhrono obdelavo podatkov, module in razvoj sodobnih spletnih aplikacij.
Pri razlagi delovanja JavaScripta je pomembno poudariti, da kodo izvaja gostiteljsko okolje, na primer spletni brskalnik. To okolje jeziku poleg samega jedra ponuja tudi dodatne možnosti, kot so delo z dokumentom HTML, dogodki, časovniki in komunikacija s strežnikom.
Pomni: ECMAScript je standard jezika, JavaScript pa njegovo najbolj razširjeno praktično uresničevanje v spletnih in drugih okoljih.
Osnovna pravila
- JavaScript se izvaja v gostiteljskem okolju, na primer v brskalniku.
- Gostiteljsko okolje poleg jezika zagotavlja tudi dodatne objekte in vmesnike, na primer
document,window, dogodke in časovnike. - Sodobna JavaScript koda pogosto uporablja module,
const,let, strogi način ter asinhrono programiranje zPromise,asyncinawait. - JavaScript je pomemben del spletnega razvoja, vendar ni omejen le na brskalnik.
V preteklosti so učna gradiva JavaScript pogosto razlagala predvsem kot skriptni jezik za manjše učinke na spletni strani. Danes ima veliko širšo vlogo. Uporablja se za gradnjo zahtevnih uporabniških vmesnikov, za delo z moduli, za asinhrono pridobivanje podatkov in za povezovanje z različnimi spletnimi API-ji.
Zanimivost: Sodobni standard jezika se po letu 2015 praviloma poimenuje po letu izdaje. Uradna izdaja ECMAScript 2025 je šestnajsta izdaja standarda.
Primerjave
Jedro jezika in gostiteljsko okolje
Jedro jezika obsega osnovna pravila, kot so sintaksa, izrazi, stavki, funkcije, objekti in vgrajeni mehanizmi jezika. Gostiteljsko okolje pa doda možnosti, ki so odvisne od prostora izvajanja. V brskalniku so to na primer DOM, dogodki, objekt window in časovniki, v drugih okoljih pa so lahko na voljo drugačni vmesniki.
Starejši in sodobni pristop
Starejša razlaga je JavaScript pogosto delila na jedro, gostitelja in uporabniško razširitev. Taka razlaga je še vedno uporabna kot poenostavljen uvod, vendar je danes smiselno poudariti razliko med standardom ECMAScript in konkretnim izvajalnim okoljem, ki jeziku doda dodatne zmogljivosti.
Sinhrono in asinhrono izvajanje
Del kode se izvede takoj po vrsti, del nalog pa poteka asinhrono. Pri sodobnem JavaScriptu so zato zelo pomembni dogodki, čakalna vrsta opravil, obljube (Promise) ter zapis async/await.
Pomni: Ko JavaScript deluje v brskalniku, samo jedro jezika ni dovolj za delo s spletno stranjo. Za to so potrebni tudi objekti in API-ji, ki jih zagotavlja brskalnik.
Priporočila
- Pri razlagi JavaScripta jasno ločuj med standardom ECMAScript in zmogljivostmi gostiteljskega okolja.
- Pri novi kodi uporabljaj
constinletnamestovar. - Za večje projekte uporabljaj module in smiselno razdelitev kode.
- Za asinhrone postopke uporabljaj
Promise,asyncinawait. - Pri delu v brskalniku upoštevaj, da številne možnosti, kot so
DOM, dogodki in časovniki, niso del samega jedra jezika, ampak del brskalniškega okolja.
Pozor: Objekti, kot so window, document in fetch, niso del samega jedra jezika v vsakem okolju. Gre za možnosti, ki jih praviloma doda gostiteljsko okolje.
Zgradba JavaScripta
Vsebino razdelimo na tri dele:
1. Jedro jezika
Sem sodijo sintaksa, podatkovni tipi, operatorji, funkcije, objekti, razredi, moduli, izjeme in drugi osnovni gradniki jezika.
2. Gostiteljsko okolje
Sem sodijo dodatne možnosti, ki jih doda okolje izvajanja. V brskalniku so to na primer DOM, dogodki, window, document, časovniki in spletni API-ji.
3. Uporabniška koda
Sem sodijo funkcije, objekti, razredi in moduli, ki jih pripravi razvijalec in jih nato uporablja v svojem programu.