Определение типа

В языках программирования с динамической типизаций, таких как JavaScript, очень часто бывает необходимо (и даже желательно) определить тип переменной, прежде чем выполнять какиелибо операции над ней. На первый взгляд определение типа не должно быть сложной процедурой, но это не всегда так и на практике может приводить к неприятностям и ошибкам изза трудноуловимых отличий. В библиотеке Base имеется несколько удобных функций, упрощающих эту операцию. Определение типа в разных броузерах изза их особенностей выполняется немного поразному, как и решение других проблем, рассматривавшихся до сих пор. Ниже приводится список этих функций:
isString(/*Any*/ value)
Возвращает true, если значение имеет тип String.
isArray(/*Any*/ value)
Возвращает true, если значение имеет тип Array.
isFunction(/*Any*/ value)
Возвращает true, если значение имеет тип Function.
isObject(/*Any*/ value)
Возвращает true, если значение имеет тип Object (включая Array
и Function) или null.
isArrayLike(/*Any*/ value)

Возвращает true, если значение имеет тип Array, но при этом относит к массивам некоторые другие типы. Например, встроенное свойство arguments, к которому можно обращаться внутри объекта Function, принадлежит одному из таких типов.


Этот тип не поддерживает встроенные методы, такие как push, однако он напоминает массив в том смысле, что представляет список значений, к которым можно обращаться через индексы.
isAlien(/*Any*/ value)
Возвращает true, если значение является встроенной функцией или «родной» функцией таких компонентов, как ActiveX, но не опознается таким методом, как применение функции instanceof.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Dojo на эту тему:
Аргументы «функции в виде строк»
Блочная модель
Грубое определение типа
Добавление узлов
Зачем управлять беспорядком

Вернуться в раздел: Dojo / Утилиты броузера