typeof Operador
Última atualização: 2026-10-13
typeof Operador
| Categoria | Operadores |
|---|
⚙️ Parâmetros
| 操作数 |
|---|
Modifica o original:Não (retorna um novo valor)
⚠️ Aviso
💡 Dica
🌐 Suporte do navegador
| Navegador | |||||
|---|---|---|---|---|---|
| typeof | ✓ v1 | ✓ v12 | ✓ v1 | ✓ v1 | ✓ v1 |
| Suportado por todos os navegadores modernos | |||||
🏷️ Operadores relacionados
💡 Casos relacionados
Mais estudos de caso em breve — aguarde.
📚 Tutoriais relacionados
❓ Perguntas frequentes
QPor que typeof null retorna "object"?
AÉ um resíduo da primeira implementação: os valores eram armazenados em 32 bits com uma tag de tipo nos bits baixos, e null é tudo zero, o que caiu no intervalo da tag de objeto. Muito código web inicial dependia disso para ser corrigido na padronização, então testar null exige x === null.
Qtypeof consegue distinguir um array de um objeto?
ANão — arrays, objetos simples, datas e expressões regulares retornam "object". Use Array.isArray(x), x instanceof Date ou Object.prototype.toString.call(x) para diferenciá-los.
QComo testo uma variável que pode não estar declarada?
Atypeof someVar !== "undefined" é a única forma segura. Escrever if (someVar) lança um ReferenceError quando o nome nunca foi declarado, enquanto typeof simplesmente retorna "undefined" e a execução continua.