not in operador en JavaScript

Shraddha Paghdar 12 octubre 2023
not in operador en JavaScript

Los objetos son propiedades clave-valor que se utilizan con más frecuencia en JavaScript. Para comprobar si una determinada propiedad existe o no, JavaScript ofrece varias posibilidades. La publicación de hoy le mostrará cómo verificar si una propiedad particular existe o no en un objeto en JavaScript.

Comprobar que la propiedad existe o no en JavaScript

Las propiedades se emparejan con el valor clave almacenado en un objeto. Un objeto puede contener muchas de estas propiedades. El operador id in object o Object.prototype.hasOwnProperty() determina si una determinada propiedad existe o no en JavaScript.

Object.prototype.hasOwnProperty() en JavaScript

Este es un método integrado proporcionado por JavaScript para verificar si la propiedad especificada pertenece a un Objeto o no. Repite el objeto y devuelve el valor booleano de acuerdo con el resultado.

Sintaxis:

Object.prototype.hasOwnProperty(prop);

Esta función toma prop como entrada en el formato string. Es un parámetro obligatorio. Este método solo verifica si la propiedad dada existe o no en el objeto independientemente del valor. Devolverá true incluso si el valor de la propiedad es null o undefined. Este método también se puede llamar en un Array ya que el array desciende de un objeto. Para obtener más información, lea la documentación del método hasOwnProperty().

const inputObject = {
  id: 42,
  name: 'John Doe'
};

console.log(inputObject.hasOwnProperty('name'));
if (!inputObject.hasOwnProperty('email')) {
  inputObject.email = 'Johndoe@gmail.com';
}
console.log(inputObject);

En el bloque de código anterior, definimos dos propiedades de un objeto id y name. Cuando pase inputObject.hasOwnProperty('name'), comprobará si la propiedad name existe o no en inputObject. Si desea que se verifique la condición opuesta, agregue ! antes de la condición, y negará el cheque. Por ejemplo, puede agregar una nueva propiedad si no existe dentro de un objeto. La salida dada por el código anterior se puede ver a continuación.

Producción :

true
{
  email: "Johndoe@gmail.com",
  id: 42,
  name: "John Doe"
}

El operador in en JavaScript

Es un método incorporado proporcionado por JavaScript, que verifica si un objeto o cadena de prototipos posee la propiedad especificada. Repite el objeto y devuelve el valor booleano de acuerdo con el resultado.

Sintaxis:

prop in object

Esta función toma prop como entrada en el formato string. Es un parámetro obligatorio. Este método sólo comprueba si la propiedad dada o el índice del array existe o no en Objeto o en su cadena de prototipos. Este método también se puede llamar en un Array ya que el array desciende de un objeto. Para obtener más información, lea la documentación del método operador in.

La principal diferencia entre el operador hasOwnProperty y in es que el anterior devuelve falso si la propiedad se hereda dentro del objeto o no ha sido declarada. En comparación, el operador in no comprueba la propiedad especificada en la cadena de prototipos del objeto. Por ejemplo, la clase base Objeto tiene hasOwnProperty como función, por lo que hasOwnProperty devolverá false mientras que el operador in devolverá true.

const inputObject = {
  id: 42,
  name: 'John Doe'
};

console.log('name' in inputObject);
if (!('phone' in inputObject)) {
  inputObject.phone = '7878787878';
}
console.log(inputObject);

En el bloque de código anterior, definimos dos propiedades de un objeto id y name. Cuando pasa 'nombre' en inputObject, comprobará si la propiedad del nombre existe en inputObject. Si desea que se verifique la condición opuesta, agregue ! antes de la condición, negando el cheque. Por ejemplo, puede agregar una nueva propiedad, phone, si no existe dentro de un objeto. La salida proporcionada por el fragmento de código anterior se ve a continuación.

Producción :

true
{
  id: 42,
  name: "John Doe",
  phone: "7878787878"
}
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

Artículo relacionado - JavaScript Operator