¿Cómo comprobar si existe una clave en un objeto de JavaScript?

Aquí, vamos a ver cómo comprobar si existe una clave dada como un par clave-valor dentro de un objeto JavaScript? En primer lugar, vamos a ver cómo se hace y luego ver un class uso práctico en el que necesita comprobar si existe una cierta clave en un objeto de JavaScript?

Considere el siguiente objeto,

const cookie= {
flavour: 'Chocolate',
size: 'medium',
company: 'Parle'
}
console.log(cookie);

salida

{flavour: "Chocolate", size: "medium", company: "Parle"}

Tenemos un objeto de galletas simples que tienen tres propiedades; sabor , tamaño y empresa que hace que el galletas . Ahora supongamos que queremos saber el color de la galleta,

console.log(cookie.color);

salida

undefined

Cómo estábamos tan seguros de que la cookie tenía un color? Tal vez no nos dieron esta información en el primer lugar. Entonces, ¿cómo comprobar primero si la cookie tenía esta propiedad o en general cualquier objeto tiene una propiedad?

1) Utilizando en el operador

El primer método está utilizando el en el operador . El en operador comprueba case de una propiedad en un objeto y devuelve un valor class.

console.log('color' in cookie);
console.log('size' in cookie);

salida

false
true

Desde de color es una propiedad que no existe en nuestra galletas , obtenemos una falsa y class tamaño , obtenemos cierto porque nuestra galletas tenía una tamaño propiedad.

2) hasOwnProperty () método

Hay otra manera a través del cual podemos hacer esto, usando el método hasOwnProperty () . También nos devuelve un valor que indica si el class objeto tenía esa propiedad o no.

const bunny={
name: 'Bugs Bunny',
teeth: 2,
color: 'white',
isEndangered: false
}
console.log(bunny);

salida

{name: "Bugs Bunny", teeth: 2, color: "white", isEndangered: false}

Utilizando el hasOwnProperty () , vamos a comprobar si nuestra conejito objeto tiene un hábitat propiedad.

console.log(bunny.hasOwnProperty('habitat'));

salida

false

cheque de Let si tiene una propiedad denominada de color ,

console.log(bunny.hasOwnProperty('color'));

salida

true

Ahora que sabemos cómo comprobar si existe una propiedad en un objeto, vamos a ver dónde se puede utilizar. Imagínese que usted es un desarrollador frontend y hay que administrar un sitio web donde algunos datos sobre un usuario viene desde el servidor, una API o un servidor que tiene que mostrar class la cuenta de un usuario en particular. Ahora usted tiene varios campos sin embargo usted no sabe qué usuario de datos llena. Sólo que los datos sobre el usuario se almacenan los que el usuario ha introducido. Así que digamos que el usuario ha introducido la siguiente información y se volvió un objeto JSON que se convierte en un objeto normal de JS que se ve algo como esto,

const user377_19={
name: 'Harry',
age: 22,
email: '[email protected]',
address: '43/5 H block new coastal colony',
userID: '351817bjhh1937t13b7f379371fjfuifh3y1397'
}

Ahora, si se imprime una propiedad que no existe, será un mal diseño for usuario. Así que antes de dar salida, comprobaremos si existe una propiedad particular.

function checkIfexists(object, prop) {
if (object.hasOwnProperty(prop))
return `${prop} Exists, proceed to display`;
else
return `${prop} info does not exist`;
}

la llamada de Let esta función para ver si tiene las propiedades que necesitamos.

const props=['name','age','email','address','phoneno']
props.forEach(prop=>console.log(checkIfexists(user377_19,prop)));

salida

name Exists, proceed to display
age Exists, proceed to display
email Exists, proceed to display
address Exists, proceed to display
phoneno info does not exist

Por lo tanto usando el método hasOwnProperty () “en el operador” o podemos comprobar si un objeto tiene una clave dentro de él con el nombre dado y usarlo para condicionalmente contenido de la salida.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *