Operator typeof

Operator typeof pozwala określić typ parametru (liczba, ciąg znaków, obiekt). Operator zwraca ciąg znaków, zawierający typ ('number', 'string', 'object').

Dla null operator zwraca 'object' (jest to uznany błąd języka). Dla funkcji operator zwraca 'function'. Jest to zrobione dla wygody, ponieważ typu 'function' nie istnieje.

Składnia

Operator typeof ma 2 składnie (obie składnie działają tak samo):

javascripttypeof parametr;
typeof(parametr);

Przykład

Spójrzmy, jak typeof działa z liczbą:

javascripttypeof 1;

W wyniku wykonanego kodu otrzymamy wartość number:

javascript'number'

Przykład

Teraz podajmy w parametrze ciąg znaków:

javascripttypeof 'str';

Wynik wykonania kodu:

javascript'string'

Przykład

Teraz wskażmy w parametrze wartość logiczną true:

javascripttypeof true;

Wynik wykonania kodu:

javascript'boolean'

Przykład

Spójrzmy jaki typ ma wartość undefined:

javascripttypeof undefined;

Po wykonaniu kodu otrzymamy również undefined:

javascript'undefined'

Przykład

Teraz sprawdźmy typ pustego obiektu:

javascripttypeof {};

Wynik wykonania kodu:

javascript'object'

Przykład

A teraz sprawdźmy typ pustej tablicy:

javascripttypeof [];

W wyniku również otrzymamy 'object':

javascript'object'

Przykład

Sprawdźmy typ wartości null:

javascripttypeof null;

W wyniku również otrzymamy 'object', co jest uznanym błędem języka:

javascript'object'

Przykład

Teraz określmy typ pustej funkcji:

javascripttypeof function() {};

Po wykonaniu kodu otrzymamy 'function', pomimo że taki typ nie istnieje. Ten ciąg znaków jest potrzebny dla wygody użytkownika przy określaniu funkcji:

javascript'function'

Przykład

Napiszmy funkcję, która będzie wypisywać tylko liczby:

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

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

Zobacz też

  • funkcję isNaN,
    która przeprowadza sprawdzenie na NaN
  • funkcję isFinite,
    która sprawdza czy liczba jest skończona