Прикладной код

Оператор «Typeof»

Оператор «Typeof»

Возвращает строку, указывающую тип операнда.

Синтаксис

Допускается указание операнда в скобках и без них:

typeof Переменная;
typeof(Переменная);

Описание

Оператор возвращает тип в виде строки, например:

var a = 5;
alert(typeof a); // "number"
var a = 'test';
alert(typeof a); // "string"

В следующей таблице приведены возможные возвращаемые значения typeof:

Тип

Результат

Undefined

«undefined»

Null

«object»

Boolean

«boolean»

Number

«number»

String

«string»

Function object

«function»

Любой другой тип объекта

«object»

Комментарии

Использование if(var) не допускается из-за возникновения ошибок при доступе к неопределенной переменной.

Оператор typeof так же используется для полиморфизма. Например, следующая функция получает узел DOM или ID узла и в обоих случаях корректно прячет узел.

function hideNode(node) {
 if (typeof node == 'string') {
  node = document.getElementById(node)
 }
 node.style.display = 'none'
}

Пример

Использование с оператором new.

// Все функции-конструкторы, созданные с помощью 'new', будут иметь тип 'object'
var str = new String('String');
var num = new Number(100);

typeof str; // Вернёт 'object'
typeof num; // Вернёт 'object'

// Но существует исключение для конструктора Function

var func = new Function();

typeof func; // Вернёт 'function'