Аператар typeof

Аператар typeof дазваляе вызначыць тып параметра (лік, радок, аб'ект). Аператар вяртае радок, які змяшчае тып ('number', 'string', 'object').

Для null аператар вяртае 'object' (гэта прызнаная памылка мовы). Для функцый аператар вяртае 'function'. Гэта зроблена для зручнасці, так як тыпу 'function' не існуе.

Сінтаксіс

У аператара typeof ёсць 2 сінтаксіса (абодва сінтаксіса працуюць аднолькава):

javascripttypeof параметр;
typeof(параметр);

Прыклад

Давайце паглядзім, як typeof працуе з лікам:

javascripttypeof 1;

У выніку выкананага кода мы атрымаем значэнне number:

javascript'number'

Прыклад

Цяпер давайце зададзім у параметры радок:

javascripttypeof 'str';

Вынік выканання кода:

javascript'string'

Прыклад

Цяпер укажам у параметры булевае значэнне true:

javascripttypeof true;

Вынік выканання кода:

javascript'boolean'

Прыклад

Давайце паглядзім які тып у значэння undefined:

javascripttypeof undefined;

Пасля выканання кода мы атрымаем таксама undefined:

javascript'undefined'

Прыклад

Цяпер давайце даведаемся тып пустога аб'екта:

javascripttypeof {};

Вынік выканання кода:

javascript'object'

Прыклад

А цяпер даведаемся тып пустога масіва:

javascripttypeof [];

У выніку таксама атрымаем 'object':

javascript'object'

Прыклад

Давайце даведаемся тып значэння null:

javascripttypeof null;

У выніку таксама атрымаем 'object', што з'яўляецца прызнанай памылкай мовы:

javascript'object'

Прыклад

Цяпер вызначым тып пустой функцыі:

javascripttypeof function() {};

Пасля выканання кода мы атрымаем 'function', нягледзячы на тое, што такога тыпу не існуе. Дадзены радок патрэбны для зручнасці карыстальніка пры вызначэнні функцыі:

javascript'function'

Прыклад

Напішам функцыю, якая будзе выводзіць толькі лікі:

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

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

Глядзіце таксама

  • функцыю isNaN,
    якая ажыццяўляе праверку на NaN
  • функцыю isFinite,
    якая правярае лік на канцавасць