Maison > interface Web > js tutoriel > Pourquoi deux objets JavaScript vides ne sont-ils pas comparables ?

Pourquoi deux objets JavaScript vides ne sont-ils pas comparables ?

Linda Hamilton
Libérer: 2024-12-04 01:59:11
original
901 Les gens l'ont consulté

Why Do Two Empty JavaScript Objects Not Compare as Equal?

Pourquoi deux objets identiques ne sont-ils pas identiques l'un à l'autre ?

En JavaScript, l'opérateur d'égalité (==) et l'opérateur d'égalité stricte (===) sont utilisés pour comparer les valeurs. Cependant, lors de la comparaison d'objets, ces opérateurs se comportent différemment de ce à quoi vous pourriez vous attendre.

Considérez le code suivant :

var a = {};
var b = {};

console.log(a == b); // returns false
console.log(a === b); // returns false
Copier après la connexion

Ce code enregistre faux pour les deux expressions, même si a et b sont tous deux objets vides. Pourquoi ?

La principale différence entre l'égalité régulière (==) et stricte (===) est que l'opérateur d'égalité stricte désactive la conversion de type. Puisque a et b sont tous deux des objets, le type d'opérateur d'égalité n'a pas d'importance dans ce cas.

Indépendamment de l'opérateur d'égalité utilisé, les comparaisons d'objets ne sont évaluées comme vraies que si vous comparez le même objet exact . En d'autres termes, étant donné var a = {}, b = a, c = {};, a == a, a == b, mais a != c.

Deux objets différents (même s'ils ont zéro ou les mêmes propriétés exactes) ne seront jamais comparables de manière égale. Pour comparer l'égalité des propriétés de deux objets, vous pouvez utiliser la méthode Object.is() ou l'approche décrite dans la réponse fournie.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal