A typeof operátor

A typeof operátor lehetővé teszi egy paraméter típusának meghatározását (szám, string, objektum). Az operátor egy stringgel tér vissza, amely a típust tartalmazza ('number', 'string', 'object').

A null esetén az operátor 'object'-tel tér vissza (ez egy elismert nyelvi hiba). A függvények esetén az operátor 'function'-tel tér vissza. Ezt a kényelem érdekében tették, mivel a 'function' típus nem létezik.

Szintaxis

A typeof operátornak 2 szintaxisa van (mindkét szintaxis ugyanúgy működik):

javascripttypeof paraméter;
typeof(paraméter);

Példa

Nézzük meg, hogyan működik a typeof számmal:

javascripttypeof 1;

A végrehajtott kód eredményeképpen a number értéket kapjuk:

javascript'number'

Példa

Most adjunk meg egy stringet paraméterként:

javascripttypeof 'str';

A kód végrehajtásának eredménye:

javascript'string'

Példa

Most adjunk meg egy logikai értéket true paraméterként:

javascripttypeof true;

A kód végrehajtásának eredménye:

javascript'boolean'

Példa

Nézzük meg, milyen típusú a undefined érték:

javascripttypeof undefined;

A kód végrehajtása után undefined-ot kapunk:

javascript'undefined'

Példa

Most nézzük meg egy üres objektum típusát:

javascripttypeof {};

A kód végrehajtásának eredménye:

javascript'object'

Példa

Most nézzük meg egy üres tömb típusát:

javascripttypeof [];

Az eredmény szintén 'object' lesz:

javascript'object'

Példa

Nézzük meg a null érték típusát:

javascripttypeof null;

Az eredmény szintén 'object' lesz, ami egy elismert nyelvi hiba:

javascript'object'

Példa

Most határozzuk meg egy üres függvény típusát:

javascripttypeof function() {};

A kód végrehajtása után 'function'-t kapunk, annak ellenére, hogy ilyen típus nem létezik. Ezt a stringet a felhasználó kényelme érdekében vezették be a függvények azonosításához:

javascript'function'

Példa

Írjunk egy függvényt, amely csak számokat jelenít meg:

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

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

Lásd még

  • a isNaN függvényt,
    amely ellenőrzi, hogy az érték NaN-e
  • a isFinite függvényt,
    amely ellenőrzi, hogy egy szám véges-e