Operador typeof
El operador typeof permite determinar
el tipo de parámetro (número, cadena, objeto). El operador
devuelve una cadena, que contiene el tipo ('number',
'string', 'object').
Para null
el operador devuelve 'object' (este es
un error reconocido del lenguaje). Para funciones el operador
devuelve 'function'. Esto se hizo
por conveniencia, ya que el tipo 'function'
no existe.
Sintaxis
El operador typeof tiene 2 sintaxis
(ambas sintaxis funcionan igual):
typeof parámetro;
typeof(parámetro);
Ejemplo
Veamos cómo typeof funciona con
un número:
typeof 1;
Como resultado del código ejecutado
obtendremos el valor number:
'number'
Ejemplo
Ahora pongamos una cadena en el parámetro:
typeof 'str';
Resultado de la ejecución del código:
'string'
Ejemplo
Ahora especifiquemos en el parámetro el valor
booleano true:
typeof true;
Resultado de la ejecución del código:
'boolean'
Ejemplo
Veamos qué tipo tiene
el valor undefined:
typeof undefined;
Después de ejecutar el código
también obtendremos undefined:
'undefined'
Ejemplo
Ahora averigüemos el tipo de un objeto vacío:
typeof {};
Resultado de la ejecución del código:
'object'
Ejemplo
Y ahora averigüemos el tipo de un array vacío:
typeof [];
Como resultado también obtendremos
'object':
'object'
Ejemplo
Averigüemos el tipo
del valor null:
typeof null;
Como resultado también obtendremos
'object', lo cual es
un error reconocido del lenguaje:
'object'
Ejemplo
Ahora determinemos el tipo de una función vacía:
typeof function() {};
Después de ejecutar el código obtendremos
'function',
a pesar de que tal tipo
no existe. Esta cadena
es necesaria para la conveniencia del usuario
al determinar una función:
'function'
Ejemplo
Escribamos una función que solo muestre números:
function printNumber(number) {
if (typeof number === 'number') {
console.log(number);
}
}
printNumber(2);
printNumber('str');
printNumber(3);