• Autor objave:
  • Kategorija objave:JavaScript
  • Vrijeme čitanja:3 mins read

Primitivni tipovi podataka

Primitivni tipovi podataka su nepromjenjivi. Njihovo se stanje ne može promijeniti nakon što su stvoreni. To su:

brojevi

  • cijeli (integers)
  • decimalni (floating point numbers) – zauzimaju više mjesta, u JS su uvijek spremljeni u 64 bita

tekst

Tekst je string tip podataka, piše se u navodnicima (jednostrukim ili dvostrukim)

Boolean

Vrijednosti su mu true / false
Truthy i falsey vrijednosti su one koje se konvertiraju u true i false kada izraz očekuje Boolean vrijednost.

undefined

Objektni tipovi podataka

Objetni tipovi podataka su promjenjivi, osim null koji je nepromjenjiv. To su:

objekti

nizovi

funkcije

null

Null vs. undefined

null je ključna riječ koja se obično koristi da naznači odsutnost neke vrijednosti.

undefined je vrijednost varijabli koje nisu inicijalizirane i vrijednost koju dobijemo kada
pokušamo dohvatiti vrijednost objekta ili elementa niza koji ne postoji. Također ćemo
dobiti undefined za izvršenje funkcije koja ne vraća nikakvu vrijednost.

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.

Undefined je izmišljotina JavaScripta da bi nam malo zakomplicirala stvar 🙂

Type of operator

typeof "John" // "string"
typeof 3.14 // "number"
typeof NaN // "number"
typeof false // "boolean"
typeof [1,2,3,4] // "object"
typeof {name:'Pero', age:34} // "object"

Automatska konverzija podataka

JavaScript obavlja mnoge konverzije tipa podatka automatski ovisno o kontekstu u kojemu se podatak koristi, te operatoru. ITo je nepresušan izvor bugova i smutnji.

String

Niz od 0 ili više znakova okružen navodnicima (jednostrukim ili dvostrukim). Brojanje pozicije znaka u stringu počinje od nule. I praznina je znak!

Konkatenacija

Konkatenacija je spajanje 2 ili više stringova. Koristi se operater + ili conccat() metoda

var text1 = "Hello";
var text2 = "world!";
// Konkatenacija sa operaterom +
console.log (text1 + text2);
// Konkatencaija sa concat() metodom
console.log (text1.concat(" ", text2));

Posebni znakovi

Neki znakovi unutar stringa (npr navodnici, kosa crta) se moraju “izbjeći” da bi se prikazali. To radimo sa / (backslash).

var x = "Ovo je moj string \"u navodnicima\"";

Metode

  • length – duljina stringa
  • charAt – znak na poziciji
  • trim – miče praznine na početku i kraju
  • indexOf – vraća poziciju stringa unutar stringa
  • split – pretvara string u niz
  • replace – vraća noci string sa zamijenjenim izrazom
  • toUpperCase – pretvara string u sva velika slova

Popis svih metoda za string: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String

Operatori

Logički operateri

&&and (i)
||or (ili)
! not (ne)

Aritmetički operateri

+zbrajanje
oduzimanje
*množenje
/dijeljenje
%modulus (ostatak dijeljenja)
**potenciranje (ES6)
++increment
decrement

Operatori dodjeljivanja

=
+=npr. x += y znači x = x + y
-=
*=
/=
%=
**=

Relacijski operateri

==jednako po vrijednosti
=== jednako po vrijednosti i tipu podatka
!= nije jednako
!==nije jednako po vrijednosti ili tipu
>veće od
<manje od
>=veće ili jednako od
<=manje ili jednako od
?Uvjetni (ternar) operator koji uzima tri operanda:
1. uvjet iza kojeg slijedi upitnik (?)
2. izraz za izvršavanje ako je uvjet istinit iza kojeg slijedi dvotočka (:)
3. izraz za izvršiti ako je uvjet lažan

Bitwise operateri

&
|
~
^
<<
>>
>>>

Operater konkatenacije

+

Ostali operateri

delete
typeof
void
instanceof
in

Tipovi operatera (po broju operanada)

// Unarni
var x += 1;
// Binarni
vad x 0 y + 1;
// Ternarni - 3 operacije u jednom
var x = y ? y : x + 1;