10
 
01/02/2023

Javascript: Validar si el argumento pasado es un objeto

Javascript: Validar si el argumento pasado es un objetoUna manera sencilla de validar un objeto en Javascript es haciendo el uso combinado de los métodos JSON.parse y Object.getPrototypeOf para una mejor evaluación, indistintamente de si se refiere a un objeto JSON o creado a través del operador new.

La siguiente función permite evaluar si el argumento es un objeto creado, por ejemplo, desde un constructor o como un objeto literal, independientemente de que el argumento sea pasado como un string.

Para comprender el código es necesario tomar en cuenta lo siguiente:

  1. Se requieren conocimientos básicos de Javascript.
  2. Compatibilidad con la mayoría de los navegadores actuales.

Casos de uso.

Algunos casos de uso para esta función son los siguientes:

El argumento de la función puede ser un objeto como new Date, {} o '{}', y el retorno de una función, por ejemplo: (function(){return {};})() ó (function(){return new Date;})().

Función anónima para validar un argumento como objeto

La función requiere de un argumento y retorna True si el mismo es un objeto o False si no lo es.

/**
* Validate if the passed argument is an object *
*/
(function(obj){
var val=obj;
if('object'!==typeof obj||null===obj){
try{
val=JSON.parse(obj);
}catch(e){
return false;
}
}
var obj=Object.create(val);
return Object.getPrototypeOf(obj)===val;
})('{"prop1":"value1","prop2":"value2","prop3":{"subprop3a":"value3a","subprop3b":"value3b"},"prop4":["abc","def"]}')

Para comprobar el resultado de este ejemplo puede copiar y pegar el código en la consola del navegador web.

En Mozilla Firefox y Google Chrome puede abrir la consola a través del menú de Herramientas para el desarrollador u oprimir Ctrl + Mayús + I.
Consulta Lo+ Top de Lenguajes De Programación
Todos los titulares en un solo lugar...