Pas dans l'opérateur en JavaScript

Shraddha Paghdar 12 octobre 2023
Pas dans l'opérateur en JavaScript

Les objets sont des propriétés clé-valeur les plus couramment utilisées en JavaScript. Pour vérifier si une certaine propriété existe ou non, JavaScript offre plusieurs possibilités. L’article d’aujourd’hui va vous montrer comment vérifier si une propriété particulière existe ou non sur un objet en JavaScript.

Vérifier que la propriété existe ou non en JavaScript

Les propriétés sont associées à la valeur de clé stockée dans un objet. Un objet peut contenir plusieurs de ces propriétés. L’existence ou non d’une certaine propriété dans JavaScript est déterminée par l’opérateur id in object ou Object.prototype.hasOwnProperty().

Object.prototype.hasOwnProperty() en JavaScript

Il s’agit d’une méthode intégrée fournie par JavaScript pour vérifier si la propriété spécifiée appartient ou non à un objet. Il itère l’objet et renvoie la valeur booléenne en fonction du résultat.

Syntaxe:

Object.prototype.hasOwnProperty(prop);

Cette fonction prend prop comme entrée au format string. C’est un paramètre obligatoire. Cette méthode vérifie uniquement si la propriété donnée existe ou non dans l’objet, quelle que soit la valeur. Il renverra true même si la valeur de la propriété est null ou undefined. Cette méthode peut également être appelée sur un Array puisque le tableau est issu d’un Object. Pour plus d’informations, lisez la documentation de la méthode 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);

Dans le bloc de code ci-dessus, nous avons défini deux propriétés d’un objet id et name. Lorsque vous passerez le inputObject.hasOwnProperty('name'), il vérifiera si la propriété name existe ou non dans inputObject. Si vous voulez que la condition inverse soit vérifiée, ajoutez ! avant la condition, et cela annulera le contrôle. Par exemple, vous pouvez ajouter une nouvelle propriété si elle n’existe pas dans un objet. La sortie donnée par le code ci-dessus peut être vue ci-dessous.

Production :

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

l’opérateur in en JavaScript

Il s’agit d’une méthode intégrée fournie par JavaScript, qui vérifie si un objet ou une chaîne de prototypes possède la propriété spécifiée. Il itère l’objet et renvoie la valeur booléenne en fonction du résultat.

Syntaxe:

prop in object

Cette fonction prend prop comme entrée au format string. C’est un paramètre obligatoire. Cette méthode vérifie uniquement si la propriété ou l’index de tableau donné existe ou non dans Object ou sa chaîne de prototypes. Cette méthode peut également être appelée sur un Array puisque le tableau est issu d’un Object. Pour plus d’informations, lisez la documentation de la méthode in operator.

La principale différence entre l’opérateur hasOwnProperty et in est que le précédent renvoie false si la propriété est héritée à l’intérieur de l’objet ou n’a pas été déclarée. En comparaison, l’opérateur in ne vérifie pas la propriété spécifiée dans la chaîne de prototypes de l’objet. Par exemple, la classe de base Object a hasOwnProperty comme fonction, donc hasOwnProperty retournera false tandis que l’opérateur in retournera true.

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

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

Dans le bloc de code ci-dessus, nous avons défini deux propriétés d’un objet id et name. Lorsque vous passez 'name' dans inputObject, il vérifiera si la propriété name existe dans inputObject. Si vous souhaitez que la condition inverse soit vérifiée, ajoutez ! avant la condition, annulant le chèque. Par exemple, vous pouvez ajouter une nouvelle propriété, phone, si elle n’existe pas à l’intérieur d’un objet. La sortie donnée par l’extrait de code ci-dessus est visible ci-dessous.

Production :

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

Article connexe - JavaScript Operator