JavaScript je močan in vsestranski programski jezik, ki predstavlja enega od temeljev moderne spletne
tehnologije. Čeprav si ime deli z Javo, sta jezika popolnoma neodvisna in različna. JavaScript omogoča
ustvarjanje dinamičnih, interaktivnih spletnih strani z možnostjo manipulacije HTML elementov, upravljanja
dogodkov in izvajanja kompleksnih operacij v brskalniku. Poleg spletnega razvoja (front-end) se JavaScript
uporablja tudi za strežniške aplikacije (back-end) preko platforme Node.js. Ena najpogosteje uporabljenih
metod je getElementById(), ki omogoča dinamično spreminjanje vsebine HTML elementov.
JavaScript je nepogrešljiv del sodobnega spleta in eden najpomembnejših programskih jezikov za spletni razvoj. Kot visokonivojski programski jezik omogoča razvoj tako na strani odjemalca (front-end) kot na strani strežnika (back-end). Z JavaScript lahko ustvarjamo dinamične spletne aplikacije, upravljamo uporabniško izkušnjo in razvijamo kompleksne spletne rešitve. Za učinkovit razvoj uporabljamo moderna razvojna orodja kot so PHPStorm, Visual Studio Code ali preprosto beležnico - izbira je odvisna od vaših potreb in preference.
Razvojno okolje lahko izbiramo med številnimi možnostmi, od naprednih IDE-jev kot so WebStorm, NetBeans in Eclipse, do preprostejših urejevalnikov kot je Notepad++. Integrirana razvojna okolja (IDE) nudijo celovito podporo pri razvoju s funkcijami kot so inteligentno dokončanje kode, razhroščevanje v realnem času in integracija s sistemi za verzioniranje. Medtem ko so urejevalniki kode (Code Editors) lažji in hitrejši, vendar jih lahko z razširitvami nadgradimo v zmogljiva razvojna orodja. IDE tipično vključuje urejevalnik kode, prevajalnik/tolmač in razhroščevalnik v enem paketu, kar omogoča učinkovit razvoj kompleksnih aplikacij.
| Orodje | Tip | Opis |
|---|---|---|
| Urejevalniki besedila (preprosti) | ||
| Beležnica (Notepad) | Urejevalnik | Preprost urejevalnik v vseh OS. Brez poudarjanja sintakse in avtomatskega dopolnjevanja. Primeren za učenje osnov. |
| Notepad++ | Urejevalnik | Brezplačen urejevalnik za Windows s poudarjanjem sintakse, zavihki in iskanjem/zamenjavo. Odličen za hitro urejanje. |
| Sublime Text | Urejevalnik | Hitri urejevalnik z večkurzorskim urejanjem, paleto ukazov in bogatim ekosistemom vtičnikov. Plačljiv (brezplačen za evalvacijo). |
| Urejevalniki kode (zmogljivi) | ||
| VS Code | Urejevalnik kode | Najpopularnejši brezplačen urejevalnik od Microsofta. IntellSense, vgrajen terminal, Git podpora, tisoči razširitev. Priporočljiv! |
| Atom | Urejevalnik kode | Odprtokodni urejevalnik od GitHuba. Paketi in teme, vgrajen Git. Arhiviran (ni več v aktivnem razvoju). |
| Brackets | Urejevalnik kode | Urejevalnik od Adobeja z Live Preview funkcijo. Fokusiran na spletni razvoj. Arhiviran. |
| Integrirana razvojna okolja (IDE) | ||
| PhpStorm | IDE | Profesionalen IDE od JetBrains za PHP, JavaScript, HTML/CSS. Globoko razumevanje kode, refaktoriranje, razhroščevanje. Plačljiv. |
| WebStorm | IDE | IDE od JetBrains specializiran za JavaScript in TypeScript. Inteligentno dopolnjevanje, testiranje, deploy. Plačljiv. |
| NetBeans | IDE | Brezplačen odprtokodni IDE za Java, PHP, HTML5 in JavaScript. Podpora za Maven, Gradle in Git. |
| Eclipse | IDE | Brezplačen odprtokodni IDE, primarno za Javo, z vtičniki za JavaScript in spletni razvoj. |
| Brskalniška orodja | ||
| Chrome DevTools | Brskalnik | Vgrajeno orodje v Chrome (F12). Konzola, razhroščevanje, profiliranje, Network, Elements. Nepogrešljivo! |
| Firefox Developer Tools | Brskalnik | Vgrajeno orodje v Firefox. Odličen CSS Inspector, Konzola, Network monitor in Performance orodja. |
JavaScript je zmogljiv programski jezik, ki spletnemu mestu lahko doda interaktivnost, je vsestranski in prijazen začetnikom. Ko pridobimo izkušnje bomo lahko ustvarjali igre, izdelovali 2D in 3D animacije, obsežne aplikacije, ki temeljijo na bazi podatkov in še veliko več. Sam JavaScript je kompakten, a zelo prilagodljiv, ker je prilagojen za odklep ogromno funkcij.
Te funkcije so programski vmesnik (API - Application Programming Interface), dinamično ustvarjanje spletnih strani, zbiranje in upravljanje video toka iz uporabnikove spletne kamere ali generiranje 3D grafike in zvočnih vzorcev. Na voljo nam je ogromna knjižnica tretjih oseb, ki jih lahko uporabimo za HTML, za pospešitev dela gradnje spletnih mest in aplikacij. V HTML je JavaScript koda vstavljena med oznaki <script> in </script>
| Orodje / Metoda | Tip | Opis |
|---|---|---|
| V <head> (brez atributov) | Internal Script | Koda se naloži pred vsebino. Blokira prikaz strani, dokler se ne izvrši. Uporabno samo za definicije funkcij. |
| V <head> z <script defer> | External/Internal | Priporočeno! Koda se naloži v ozadju, izvrši pa šele, ko je HTML končan. Ne blokira prikaza. | ▶ Primer kode |
| Zgoraj v <body> | Internal Script | Blokira prikaz vsebine pod njim. Redko uporabljeno, ker upočasni nalaganje strani. |
| Spodaj v <body> (pred </body>) | Internal Script | Zlati standard. HTML je že naložen, elementi so na voljo. Stran se hitro prikaže. | ▶ Primer kode |
| <script src="file.js"> | External Script | Najboljše za vzdrževanje in cache. Lahko se uporabi v <head> (z defer) ali na dnu <body>. |
| <script src="file.js" async> | External Script | Naloži se asinhrono, izvrši takoj, ko je naložen. Uporabno za analitiko, ne za logiko strani. | ▶ Primer kode |
| onclick, onload, itd. | Inline Event | Ne priporočljivo! Meša logiko z dizajnom. Težko vzdrževanje. Uporabi samo za hitre teste. | ▶ Primer kode |
Spodnja tabela prikazuje osnovne načine komentiranja kode, vrste pojavnih oken za interakcijo z uporabnikom in metode konzole za razhroščevanje. Primeri v stolpcu "Primer" so pripravljeni za neposredno kopiranje v vašo kodo.
| Lastnost/Metoda | Primer | Opis |
|---|---|---|
| Komentiranje | ||
// enovrstični komentar | // To je opomba |
Komentar v eni vrstici – brskalnik ga ignorira |
/* večvrstični */ |
/* To je daljši opis, ki sega čez več vrstic */ |
Komentar čez več vrstic – uporaben za daljše opise |
/** JSDoc */ | /** @param {string} ime - Ime uporabnika */ |
Dokumentacijski komentar – uporabljajo ga IDE-ji za opis funkcij | ▶ Primer kode |
| Pojavno okno (Dialog) | ||
alert() | alert("Pozdravljeni!"); |
Prikaže pojavno okno s sporočilom in gumbom "V redu". Blokira izvajanje do klika. |
confirm() | confirm("Ali ste prepričani?"); |
Prikaže okno z gumboma "V redu" in "Prekliči". Vrne true ali false. |
prompt() | prompt("Vnesite ime:", "Borut"); |
Prikaže okno z vnosnim poljem. Vrne vneseno besedilo ali null ob preklicu. | ▶ Primer kode |
| Konzola (console) | ||
console.log() | console.log("Sporočilo"); |
Izpiše sporočilo v konzolo (najpogosteje uporabljeno za razhroščevanje) |
console.warn() | console.warn("Opozorilo!"); |
Izpiše opozorilo (rumeno ozadje v konzoli) |
console.error() | console.error("Napaka!"); |
Izpiše napako (rdeče ozadje v konzoli) |
console.info() | console.info("Informacija"); |
Izpiše informativno sporočilo |
console.table() | console.table([{a:1}, {a:2}]); |
Izpiše podatke v obliki tabele (idealno za array-e in objekte) |
console.clear() | console.clear(); |
Počisti konzolo |
console.time() | console.time("timer"); ... console.timeEnd("timer"); |
Izmeri čas izvajanja kode med time() in timeEnd() |
console.group() | console.group("Skupina"); ... console.groupEnd(); |
Združi izpise v zložljivo skupino v konzoli | ▶ Primer kode |
JavaScript ima preprosto sintakso, ki temelji na blokih kode, spremenljivkah in izjavah. Razumevanje osnovne sintakse je ključno za pisanje pravilne kode.
| Koncept | Primer | Opis | |
|---|---|---|---|
| Spremenljivke | |||
let | let x = 5; |
Deklarira spremenljivko, ki se lahko spremeni | |
const | const PI = 3.14; |
Deklarira konstanto, ki se ne more spremeniti | |
var | var old = "stara"; |
Stara deklaracija (izogibaj se uporabi) | ▶ Primer kode |
| Tipi podatkov | |||
String | let ime = "Borut"; |
Besedilo v narekovajih | |
Number | let starost = 52; |
Cela ali decimalna števila | |
Boolean | let jeAktiven = true; |
Logična vrednost (true/false) | |
Array | let barve = ["rdeča", "modra"]; |
Seznam vrednosti | |
Object | let oseba = {ime: "Borut"}; |
Kolekcija ključ-vrednost | ▶ Primer kode |
| Operatorji | |||
+ | let vsota = 5 + 3; |
Prištevaj (ali združi stringe) | |
- * | let razlika = 10 - 4; |
Odvzemi, pomnoži, deli | |
=== | if (x === 5) {...} |
Enako (tudi tip) | |
!== | if (x !== 5) {...} |
Ni enako | ▶ Primer kode |
Zanke omogočajo ponavljanje kode večkrat. To je ena najmočnejših funkcij programiranja – namesto da pišeš isto kodo 10-krat, jo zapišeš enkrat in jo zanko izvedeš 10-krat.
| Zanka | Primer | Opis | Primer kode |
|---|---|---|---|
| For zanka | |||
for | for(let i=0; i<5; i++) {...} |
Osnovna zanka s števcem | ▶ Primer kode |
| While zanka | |||
while | while(pogoj) {...} |
Ponavlja, dokler je pogoj resničen | ▶ Primer kode |
| Do-While zanka | |||
do...while | do {...} while(pogoj); |
Izvede kodo vsaj enkrat, nato preveri pogoj | ▶ Primer kode |
| Zanke za array-e in objekte | |||
for...of | for(let item of array) {...} |
Prenese vrednosti iz array-a | ▶ Primer kode |
for...in | for(let key in object) {...} |
Prenese ključe iz objekta | ▶ Primer kode |
| Switch Statement | |||
switch | switch(value) { case x: ... } |
Izbere eno izmed mnogih blokov kode za izvajanje | ▶ Primer kode |