Operator typeof

Operator typeof omogućava određivanje tipa parametra (broj, string, objekat). Operator vraća string, koji sadrži tip ('number', 'string', 'object').

Za null operator vraća 'object' (ovo je priznata greška jezika). Za funkcije operator vraća 'function'. Ovo je urađeno radi praktičnosti, pošto tip 'function' ne postoji.

Sintaksa

Operator typeof ima 2 sintakse (obe sintakse rade na isti način):

javascripttypeof parametar;
typeof(parametar);

Primer

Hajde da pogledamo kako typeof radi sa brojem:

javascripttypeof 1;

Kao rezultat izvršenog koda dobićemo vrednost number:

javascript'number'

Primer

Sada hajde da postavimo string kao parametar:

javascripttypeof 'str';

Rezultat izvršavanja koda:

javascript'string'

Primer

Sada ćemo u parametru navesti bulovsku vrednost true:

javascripttypeof true;

Rezultat izvršavanja koda:

javascript'boolean'

Primer

Hajde da vidimo koji tip ima vrednost undefined:

javascripttypeof undefined;

Nakon izvršavanja koda dobićemo takođe undefined:

javascript'undefined'

Primer

Sada hajde da saznamo tip praznog objekta:

javascripttypeof {};

Rezultat izvršavanja koda:

javascript'object'

Primer

A sada hajde da saznamo tip praznog niza:

javascripttypeof [];

Kao rezultat takođe ćemo dobiti 'object':

javascript'object'

Primer

Hajde da saznamo tip vrednosti null:

javascripttypeof null;

Kao rezultat takođe ćemo dobiti 'object', što predstavlja priznatu grešku jezika:

javascript'object'

Primer

Sada ćemo odrediti tip prazne funkcije:

javascripttypeof function() {};

Nakon izvršavanja koda dobićemo 'function', uprkos tome što takav tip ne postoji. Ovaj string je potreban radi praktičnosti korisnika prilikom određivanja funkcije:

javascript'function'

Primer

Napišimo funkciju koja će ispisivati samo brojeve:

javascriptfunction printNumber(number) {
  if (typeof number === 'number') {
    console.log(number);
  }
}

printNumber(2);
printNumber('str');
printNumber(3);

Pogledajte takođe

  • funkciju isNaN,
    koja vrši proveru na NaN
  • funkciju isFinite,
    koja proverava da li je broj konačan