Mon application possède un formulaire HTML avec certaines entrées remplies à partir du backend et d’autres entrées saisies par l’utilisateur (dans une entrée de time
). Une fonction onChange
parcourt chaque entrée lorsque l’utilisateur modifie une valeur.
Les entrées renseignées à partir du backend sont converties en objects moment
, les dates saisies par l’utilisateur sont de simples chaînes. Cela signifie que la fonction onChange
rencontre des objects moment
et certaines chaînes. J’ai besoin de savoir quelles entrées sont des objects moment
et lesquels ne le sont pas.
Quelle est la méthode recommandée pour tester si une variable est un object moment
?
J’ai remarqué que les objects de moment
ont une propriété _isAMomentObject
mais je me demande s’il existe une autre façon de tester si une variable est un object de moment
.
Une autre option que j’ai essayée est d’appeler le moment
sur la variable indépendamment. Cela convertit les variables de ssortingng
en objects de moment
et ne semble pas affecter les objects de moment
existants.
Moment a une méthode isMoment
pour un tel but. Il n’est pas très facile de trouver dans les documents à moins de savoir quoi chercher.
Il vérifie d’abord instanceof
, puis échoue (par exemple dans certaines situations de sous- _isAMomentObject
ou de domaines croisés), il testera la propriété _isAMomentObject
.
Vous pouvez vérifier s’il s’agit d’un instant d’ instanceof
:
moment() instanceof moment; // true
moment () instance du moment;
sera toujours vrai, parce que si vous avez
vous créez toujours un object de moment. Donc, la seule façon est de vérifier comme ça