Operador typeof
O operador typeof permite determinar
o tipo de um parâmetro (número, string, objeto). O operador
retorna uma string, contendo o tipo ('number',
'string', 'object').
Para null
o operador retorna 'object' (esta é
um erro reconhecido na linguagem). Para funções, o operador
retorna 'function'. Isto foi implementado
por conveniência, uma vez que o tipo 'function'
não existe.
Sintaxe
O operador typeof possui 2 sintaxes
(ambas as sintaxes funcionam de forma idêntica):
typeof parâmetro;
typeof(parâmetro);
Exemplo
Vejamos como typeof funciona com
um número:
typeof 1;
Como resultado da execução do código
obteremos o valor number:
'number'
Exemplo
Agora vamos passar uma string como parâmetro:
typeof 'str';
Resultado da execução do código:
'string'
Exemplo
Agora vamos especificar o valor booleano
true como parâmetro:
typeof true;
Resultado da execução do código:
'boolean'
Exemplo
Vamos ver qual é o tipo
do valor undefined:
typeof undefined;
Após a execução do código
obteremos também undefined:
'undefined'
Exemplo
Agora vamos descobrir o tipo de um objeto vazio:
typeof {};
Resultado da execução do código:
'object'
Exemplo
E agora vamos descobrir o tipo de um array vazio:
typeof [];
Como resultado também obteremos
'object':
'object'
Exemplo
Vamos descobrir o tipo
do valor null:
typeof null;
Como resultado também obteremos
'object', o que é
um erro reconhecido na linguagem:
'object'
Exemplo
Agora vamos determinar o tipo de uma função vazia:
typeof function() {};
Após a execução do código obteremos
'function',
apesar de tal tipo
não existir. Esta string
é necessária para a conveniência do usuário
ao identificar uma função:
'function'
Exemplo
Vamos escrever uma função que irá exibir apenas números:
function printNumber(number) {
if (typeof number === 'number') {
console.log(number);
}
}
printNumber(2);
printNumber('str');
printNumber(3);