En este post de JavaScript veremos cómo saber el tipo de un argumento de una función. Es un ejercicio de programación, ya que si queremos saber el tipo de una variable usamos typeof
, pero el ejercicio dice:
Escribe una función JavaScript que acepte un argumento y devuelva el tipo.
Nota: Hay seis posibles valores que el tipo de retornos: objeto, booleano, función, número, cadena y undefined.
Veamos cómo hacer esto con JS.
Obteniendo tipo de dato
Podemos usar typeof
para obtener el tipo de una variable. Así:
const tipoDeDato = typeof variable;
Básicamente lo que tenemos que hacer con este ejercicio es traducir ese resultado. Los tipos de datos que debemos traducir son:
- object
- boolean
- function
- number
- string
- undefined
Devolver tipo de argumento con JavaScript
Entonces debemos usar typeof
, y evaluar el resultado. He creado un diccionario, así nos ahorramos las comparaciones y varios if
. El código queda así:
const tipoDeArgumento = argumento => {
// https://parzibyte.me/blog
const tipo = typeof argumento;
// Diccionario con equivalentes
const diccionario = {
"object": "objeto",
"boolean": "booleano",
"function": "función",
"number": "número",
"string": "cadena",
"undefined": "undefined",
};
return diccionario[tipo];
};
Tenemos un diccionario en donde la clave es un tipo de dato que regresa typeof
. Y el valor de cada clave es su traducción, entonces para obtener esa traducción accedemos al diccionario en la posición tipo
, que será uno de los tipos que devuelve typeof
.
El modo de uso es el siguiente:
const tipoDeArgumento = argumento => {
// https://parzibyte.me/blog
const tipo = typeof argumento;
// Diccionario con equivalentes
const diccionario = {
"object": "objeto",
"boolean": "booleano",
"function": "función",
"number": "número",
"string": "cadena",
"undefined": "undefined",
};
return diccionario[tipo];
};
const valores = ["Luis", 12312, {}, undefined, null, []];
for (const variable of valores) {
const tipo = tipoDeArgumento(variable);
console.log(`El tipo de ${variable} es ${tipo}`);
}
La función recibe una variable de cualquier tipo y devuelve su tipo. Aquí su ejecución:
Como te dije anteriormente, esto es un ejercicio, ya que si quisieras el tipo de dato de una variable podrías usar typeof.
Por aquí te dejo más tutoriales de JavaScript.