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' |