CodeWilderness
JS coding flow
Singing Parrot as author
Radošević Dejan

JS - Varijable

Varijable predstavljaju kontejnere za čuvanje podataka/vrijednosti kojm se manipuliše u programu tokom izvršavanja. One su temelj za rad sa informacijama i omogućavaju dinamiku i interaktivnost.

Var, let i const

Do verzije ES6 za deklaraciju varijabli koristila se ključna riječ var. ​Sa var kreiramo varijable koje pripadaju globalnom ili funkcionalnom opsegu1. Varijable deklarisane u globalnom opsegu dostupne su svuda, dok one deklarisane u funkcijama pripadaju funkcionalnom opsegu.

// Deklaracija varijable - ne dodjeljuje se vrijednost
var jsVar;
// Inicijalizacija varijable - dodjeljuje se vrijednost deklarisanoj varijabli
jsVar = "JavaScript";
// Deklaracija i inicijalizacija
var pythonVar = "Python";

Ako je potrebno pomoću jednog iskaza moguće je deklarisati više varijabli, gdje svaku sledeću odvajamo zarezom.

var varOne = 1, varTwo = 2; // ...

Sa ES6 standardom uvedene su ključne riječi let i const za deklarisanje varijabli, koje pružaju bolju kontrolu nad njihovim opsegom. Varijable deklarisane sa let i const su ograničene blokom (blok je određen parom vitičastih zagrada {}) u kom su delarisane. Deklaracija varijable sa let omogućavaju promjenu zadate vrijednost i mogu se deklarisati pa inicijalizovati. Kod definisanja varijabli sa klučnom riječi const neophodna je deklaracija i inicijalizacija. Nakon inicijalizacije zadata vrijednosti se ne može promijeniti (ovo zavisi od tipa podataka koji sadrži varijabla).

let name;
name = "Ja";
 
const STATUS = "Faca 😎";
STATUS = "🤪"; // Uncaught TypeError: Assignment to constant variable.

Nedefinisane i nedeklarisane varijable

Nedefinisana varijabla je ona koja je deklarisana ali joj nije dodijeljena vrijednost. U JS-u, takva varijabla automatski dobija vrijednost undefined. S druge strane, nedeklarisana varijabla je ona koja se koristi u kodu bez prethodne deklaracije, što može dovesti do greške u izvršavanju koda.

var undefinedVar;
console.log(undefinedVar); // undefined
console.log(undeclaredVar); // ReferenceError: undeclaredVar is not defined

Kako koristiti varijable

Svaka od ključnih riječi za deklaracije varijabli posjeduje svoje specifične karakteristike, koje naglašavaju kako i kada ih treba koristiti.

  1. VAR - ovaj način deklaracije varijabli se može koristiti kod varijabli najvišeg nivoa koje su vidljive u mnogim opsezima.
  2. LET - koristiti za lokalizovane varijable, podložne promjeni, u manjim opsezima.
  3. CONST - koristiti kada ste sigurni da se vrijednost neće mijenjati.

Footnotes

  1. Opseg (scope) - u programiranju se odnosi na dio koda u kojem je određena promjenljiva ili funkcija vidljiva i dostupna. Opseg definiše oblast u kojoj se promjenljive ili funkcije mogu koristiti i gdje važe pravila za pristup i promjenu vrijednosti. Postoje dva glavna tipa opsega u programiranju:
    Globalni opseg (global scope) - obuhvata cjelokupni program i sve promjenljive i funkcije definisane u globalnom opsegu su vidljive i dostupne iz bilo kog dijela programa.
    Lokalni/funkcionalni opseg (local scope) - obuhvata dio koda unutar funkcije ili bloka koda. Promjenljive i funkcije definisane unutar lokalnog opsega su vidljive samo unutar tog opsega i ne može im se direktno pristupiti izvan tog opsega.