Оператор 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,
    която проверява дали числото е крайно