typeof
Описание, примеры
Вызов typeof возвращает строку, содержащую информацию о типе операнда.
Оператор typeof используется в двух формах:
- typeof operand
- typeof (operand)
Эти формы идентичны: можно использовать скобки, а можно и не использовать - работает одинаково.
Оператор возвращает тип в виде строки, например:
Тип typeof возвращается, исходя из следующей таблицы соответствия типам javascript:
Тип |
Результат |
Undefined |
"undefined" |
Null |
"object" |
Boolean |
"boolean" |
Number |
"number" |
String |
"string" |
Function |
"function" |
Любой другой объект |
"object" |
Часто возникают вопросы - почему и зачем таблица именно такая? Ответ
простой: потому что так получилось по ходу развития javascript.
В старом javascript-коде можно увидеть применение typeof для проверки существования переменной:
if ( typeof ( var ) == "undefined" ) { ... } |
В современном javascript лучше писать:
if (window. var !== undefined) { ... } |
или, зачастую, подойдет и просто:
P.S. Использовать просто if(var) нельзя, так как доступ к
неопределенной переменной вызовет ошибку. Ну а обращение к
отсутствующему свойству глобального объекта window всего лишь вернет undefined
Кроме того, оператор typeof используется для
полиморфизма. Например, следующая функция получает узел DOM или ID узла и
в обоих случаях корректно прячет узел.
1 | function hideNode(node) { |
2 | if ( typeof node == 'string' ) { |
3 | node = document.getElementById(node) |
5 | node.style.display = 'none' |
|