Operátor typeof

Operátor typeof umožňuje určiť typ parametra (číslo, reťazec, objekt). Operátor vráti reťazec, ktorý obsahuje typ ('number', 'string', 'object').

Pre null operátor vráti 'object' (toto je uznaná chyba jazyka). Pre funkcie operátor vráti 'function'. Toto je urobené pre pohodlie, pretože typ 'function' neexistuje.

Syntax

Operátor typeof má 2 syntaxe (obe syntaxe fungujú rovnako):

javascripttypeof parameter;
typeof(parameter);

Príklad

Pozrime sa, ako typeof pracuje s číslom:

javascripttypeof 1;

Výsledkom vykonaného kódu dostaneme hodnotu number:

javascript'number'

Príklad

Teraz zadajme do parametra reťazec:

javascripttypeof 'str';

Výsledok vykonania kódu:

javascript'string'

Príklad

Teraz určme v parametri booleovskú hodnotu true:

javascripttypeof true;

Výsledok vykonania kódu:

javascript'boolean'

Príklad

Pozrime sa, aký typ má hodnota undefined:

javascripttypeof undefined;

Po vykonaní kódu dostaneme tiež undefined:

javascript'undefined'

Príklad

Teraz zistime typ prázdneho objektu:

javascripttypeof {};

Výsledok vykonania kódu:

javascript'object'

Príklad

A teraz zistime typ prázdneho poľa:

javascripttypeof [];

Výsledkom tiež dostaneme 'object':

javascript'object'

Príklad

Zistime typ hodnoty null:

javascripttypeof null;

Výsledkom tiež dostaneme 'object', čo je uznaná chyba jazyka:

javascript'object'

Príklad

Teraz určme typ prázdnej funkcie:

javascripttypeof function() {};

Po vykonaní kódu dostaneme 'function', napriek tomu, že taký typ neexistuje. Tento reťazec je potrebný pre pohodlie používateľa pri určovaní funkcie:

javascript'function'

Príklad

Napíšme funkciu, ktorá bude vypisovať iba čísla:

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

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

Pozrite tiež

  • funkciu isNaN,
    ktorá vykonáva kontrolu na NaN
  • funkciu isFinite,
    ktorá kontroluje číslo na konečnosť