Оператор typeof - определение типа данных на JavaScript
Оператор typeof
позволяет определить
тип параметра (число, строка, объект). Оператор
возвращает строку, содержащую тип ('number'
,
'string'
, 'object'
).
Для null
оператор возвращает 'object'
(это
признанная ошибка языка). Для функций оператор
возвращает 'function'
. Это сделано
для удобства, так как типа 'function'
не существует.
Синтаксис
У оператора typeof
есть 2
синтаксиса
(оба синтаксиса работают одинаково):
typeof параметр;
typeof(параметр);
Пример
Давайте посмотрим, как typeof
работает с
числом:
typeof 1;
В результате выполненного кода
мы получим значение number
:
'number'
Пример
Теперь давайте зададим в параметре строку:
typeof 'str';
Результат выполнения кода:
'string'
Пример
Теперь укажем в параметре булевое
значение true
:
typeof true;
Результат выполнения кода:
'boolean'
Пример
Давайте посмотрим какой тип
у значения undefined
:
typeof undefined;
После выполнения кода
мы получим также undefined
:
'undefined'
Пример
Теперь давайте узнаем тип пустого объекта:
typeof {};
Результат выполнения кода:
'object'
Пример
А теперь узнаем тип пустого массива:
typeof [];
В результате также получим
'object'
:
'object'
Пример
Давайте узнаем тип
значения null
:
typeof null;
В результате также получим
'object'
, что является
признанной ошибкой языка:
'object'
Пример
Теперь определим тип пустой функции:
typeof function() {};
После выполнения кода мы получим
'function'
,
несмотря на то, что такого типа
не существует. Данная строка
нужна для удобства пользователя
при определении функции:
'function'
Пример
Напишем функцию, которая будет выводить только числа:
function printNumber(number) {
if (typeof number === 'number') {
console.log(number);
}
}
printNumber(2);
printNumber('str');
printNumber(3);