Operátor typeof

Operátor typeof umožňuje určit typ parametru (číslo, řetězec, objekt). Operátor vrací řetězec obsahující typ ('number', 'string', 'object').

Pro null operátor vrací 'object' (toto je uznávaná chyba jazyka). Pro funkce operátor vrací 'function'. Toto je provedeno pro usnadnění, protože typ 'function' neexistuje.

Syntaxe

Operátor typeof má 2 syntaxe (oba zápisy fungují stejně):

javascripttypeof parametr;
typeof(parametr);

Příklad

Podívejme se, jak typeof pracuje s číslem:

javascripttypeof 1;

Výsledkem provedeného kódu získáme hodnotu number:

javascript'number'

Příklad

Nyní zadejme do parametru řetězec:

javascripttypeof 'str';

Výsledek provedení kódu:

javascript'string'

Příklad

Nyní uveďme v parametru booleovskou hodnotu true:

javascripttypeof true;

Výsledek provedení kódu:

javascript'boolean'

Příklad

Podívejme se, jaký typ má hodnota undefined:

javascripttypeof undefined;

Po provedení kódu získáme také undefined:

javascript'undefined'

Příklad

Nyní zjistěme typ prázdného objektu:

javascripttypeof {};

Výsledek provedení kódu:

javascript'object'

Příklad

A nyní zjistěme typ prázdného pole:

javascripttypeof [];

Výsledkem také získáme 'object':

javascript'object'

Příklad

Zjišťěme typ hodnoty null:

javascripttypeof null;

Výsledkem také získáme 'object', což je uznávaná chyba jazyka:

javascript'object'

Příklad

Nyní určeme typ prázdné funkce:

javascripttypeof function() {};

Po provedení kódu získáme 'function', přestože takový typ neexistuje. Tento řetězec je zde pro usnadnění uživateli při určování funkce:

javascript'function'

Příklad

Napišme funkci, která bude vypisovat pouze čísla:

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

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

Viz také

  • funkci isNaN,
    která provádí kontrolu na NaN
  • funkci isFinite,
    která kontroluje, zda je číslo konečné