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 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