Найти в Дзене

typeof в JavaScript

Унарный оператор typeof помещается перед единственным операндом, который может иметь любой тип. Его значение представляет собой строку, указывающую тип данных операнда. То есть с помощью typeof можно определить тип переменной или другой сущности. Результатом работы оператора typeof будет строка "number", "string" или "boolean", если операндом является число, строка или логическое значение соответственно. Для объектов и массивов результатом будет строка "object". И, как ни странно, для null результатом тоже будет строка "object". В случае с undefined неожиданностей не произойдёт - оператор вернёт строку "undefined". Значение оператора typeof равно "object", если операнд представляет собой объект-обертку Number, String или Boolean. Оно также равно "object" для объектов Date и RegExp. Для объектов, не являющихся частью базового языка JavaScript, а предоставляемых контекстом, в который встроен JavaScript, возвращаемое оператором typeof значение зависит от реализации. Однако в клиентском яз

Унарный оператор typeof помещается перед единственным операндом, который может иметь любой тип. Его значение представляет собой строку, указывающую тип данных операнда. То есть с помощью typeof можно определить тип переменной или другой сущности.

Результатом работы оператора typeof будет строка "number", "string" или "boolean", если операндом является число, строка или логическое значение соответственно.

Для объектов и массивов результатом будет строка "object". И, как ни странно, для null результатом тоже будет строка "object".

В случае с undefined неожиданностей не произойдёт - оператор вернёт строку "undefined".

Значение оператора typeof равно "object", если операнд представляет собой объект-обертку Number, String или Boolean. Оно также равно "object" для объектов Date и RegExp. Для объектов, не являющихся частью базового языка JavaScript, а предоставляемых контекстом, в который встроен JavaScript, возвращаемое оператором typeof значение зависит от реализации. Однако в клиентском языке JavaScript значение оператора typeof обычно равно "object" для всех клиентских объектов - так же, как и для всех базовых объектов.

Операнд typeof можно заключить в скобки. В этом случае ключевое слово typeof выглядит как имя функции, а не как ключевое слово или оператор:

typeof(x)

Для всех объектных типов и типов массивов результатом оператора typeof является строка "object", поэтому он может быть полезен только для того, чтобы отличить объекты от базовых типов. Для того чтобы отличить один объектный тип от другого, потребуются другие способы, например использование оператора instanceof или свойства constructor.

Ну и несколько примеров для полноты картины:

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.