#code #javascript

Il y a 3 méthodes pour tester l’égalité de deux variables en JavaScript : - La loose equality == - La strict equality === - Object.is()

Objet.is() est presque identique à === mais ne gère pas NaN et -0 de la même manière.

La loose equality converti les valeurs en nombres avant de les comparer.

La strict equality fait la comparaison sans faire de conversation. Autrement dit: si les types sont différents, alors c’est false.

Attention ! Ces trois méthodes ne comparent les objets que par référence. Par exemple : - {} == {} est false - {} === {} est false - Objet.is({}, {}) est false également

Il faut aussi noter que dans if({}), {} est évalué a true .

Le #lifeprotips est de toujours utiliser la stricte equality, sauf si il y a une bonne raison d’utiliser la loose equality.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness