Leksička struktura iliti semantika je skup elementarnih pravila koja određuju kako pišete programe na određenom jeziku. Određuje koje su uloge praznina u jeziku, kako izgledaju nazivi varijabli, kako se pišu komentari, odvajaju izjave i sl.
Izjava (Statement)
Izjava je instrukcija koju izvodi računalo. Naš računalni program je kolekcija izjava.
Izjava se sastoji od:
- vrijednosti
- operatera
- izraza
- ključnih riječi
- komentara
U izjavi var x; var je ključna riječ, a x je vrijednost. U izjavi var x = 2; = je operater.
Vitičaste zagrade
Vitičaste zagrade određuju blok izjavu, koja grupira nula ili više izjava. Treba ih uvijek koristiti, čak i onda kad nisu obavezne. To naš kod čini dosljednim i lakšim za ažuriranje.
npr.
if (x) {
console.log('Ovako je ispravno');
console.log('Ova izjava je također uključena u blok');
}
if (x)
console.log('Ova izjava je uključena u blok');
console.log('Ova izjava NIJE uključena u blok');
Indentacija (uvlačenje teksta)
Iako JS ignorira indentaciju treba ju korisiti zbog lakšeg čitanja koda i ona treba biti konzistentna.
Točka-zarez
Točka-zarez se koristi za odvajanje izjava. Najbolje ju je uvijek koristiti na kraju izjava iako nije obavezna u slučajevima kada su izjave u zasebnim linijama.
Više o sintaksti
https://www.w3schools.com/js/js_syntax.asp
Deklaracije
Vrijednosti
- Literali – nepromijenjive vrijednosti (brojevi, tekst)
- Varijable – promjenjive, koriste se za spremanje podataka
- ključna riječ var
- operater dodjeljivanja =
- puni izraz za varijablu x
var x = 1;
Deklaracije
Prije upotrebe varijable treba je kreirati. Kreiranje varijabli naziva se deklaracija. One se deklariraju s ključnom riječi var. Po default-u vrijednost deklarirane varijable je undefined. Kad se varijabla deklarira to znači da se rezervira memorijski prostor za nju. Ako joj nismo (još) dodjelili vrijednost, onda u tom prostoru piše undefined. Za razliku od toga vrijednost null ne pokazuje ni na jednu memorijsku lokaciju.
Dodjeljivanje vrijednosti zove se inicijalizacija. Deklaracija i inicijalizacija se mogu obaviti u jednom izrazu.
// Deklaracija varijabli
var ime;
var god;
// Može i u jednom redu
var ime, god;
// Deklaracija i inicijalizacija u jednom potezu
var ime="Pero";
var god=25;
Imenovanja
JavaScript razlikuje mala od velikh slova.
Identifikator (ime za imenovanje varijabli, funkcija i petlji) uvijek mora početi slovom, podvlakom ili znakom $. Ključne riječi se ne smiju korisiti kao identifikatori.
Postoje tzv. naming konvencije kojih se treba pridržavati da bi nam kod bio konzistentan i lakši za snalaženje.
Konvencije za imenovanje (naming convention)
Sva imena moraju biti opisna (self-explanatory), da se već iz imena zna o čemu se radi.
Varijable, funkcije, komponente – camelCase
var dogName = "Snoopy"
Klase – PascalCase
class = "BlogTitle"
Boolean – camelCase sa prefiksima is / has
Uvijek imenujemo s pozitivom, pa makar je po default-u vrijednost false.
var hasOwner = true;
var isChecked = false;
Konstante – UPPERCASE / UPPER_SNAKE_CASE
var DAYS = 7;
var DAYS_UNTIL_TOMORROW = 1;
Više na: 10 JavaScript pravila za imenovanje
Komentari
JavaScript podržava 2 vrste komentara
- sa znakovima // – samo za komentra u jednom redu
- između znakova /* i */ – za komentare u više redova
// Ovo je komentar u jednom redu.
/* Ovo je još jedna komentar */
/* Ovo je komentar u više redova.
* Ove dodatne zvjezdice u svakom
* redu nisu obavezne, koriste se
* po želji radi bolje pregldnosti.
*/
JavaScript Doc komentari
Pomoću ovih komentara koji objašnjavaju dijelove koda se može generirati dokumentacija. Više informacija na: https://jsdoc.app/about-getting-started.html
/**
* Creates an instance of Circle.
*
* @constructor
* @author: John Doe
* @this {Circle}
* @param {number} r radius of the circle
*/
function Circle(r) {
this.radius = r;
this.circumference = 2 * Math.PI * r;
}