11
votes

Comparaison de la date javascript

Pourquoi l'opérateur d'égalité renvoie-t-il False dans le premier cas? XXX

Pourquoi?


0 commentaires

4 Réponses :


0
votes

Comparez deux dates avec JavaScript

DATESCOMPARE (A, B)

Le fait est que la comparaison entre les deux objets ne fonctionne pas correctement: /


1 commentaires

Pas vraiment. La comparaison entre deux objets fonctionne comme spécifié.




0
votes

Si vous créez deux horloges, et mettez-les à la fois à la fois, vous avez deux horloges.

Si vous changez le temps en une horloge, il ne changera pas l'heure de l'autre horloge.

comparer ou trier les dates, soustrayez-les de l'autre. La valeur d'un objet de date, utilisée dans une expression mathématique, est son horodatage.

fonction par rapport à (a, b) {retour a-b};


0 commentaires

-1
votes

Je suis désolé les gars, mais c'est idiot ... surtout le peu d'avoir deux horloges.

==, par définition compare les valeurs, tandis que === compare les références. Dire que == échoue à des non-primitives brise la structure syntaxique de la langue. Bien sûr, === échouerait dans l'exemple initial, car les deux dates sont clairement deux pointeurs distincts à deux espaces de mémoire distincts, mais, par la définition même de la spécification JS, == devraient retourner vrai pour la comparaison de deux dates dont la valeur est le même point à temps.

Encore une autre raison pour laquelle je déteste JS ...

Désolé de bavarder, mais cela vient de frapper mes fesses pendant une heure.

En tant que de côté, vous pouvez utiliser la valeurOf () pour forcer la comparaison des valeurs et qui retournera true ... il est redondant avec == mais cela fonctionne.


1 commentaires

Vous ne savez pas ce que vous randonnez ... La distinction entre == et === n'a rien à voir avec les valeurs VS Refs, == Simples simplement que la machine virtuelle doit utiliser un ensemble de règles de contrainte clairement définies lorsque les deux opérandes sont de types différents, tandis que === indique qu'aucune coercition de ce type n'est à se produire.