2016-04-06 18 views
32

La mia applicazione ha un modulo HTML con alcuni input popolati dal back-end e altri input immessi dall'utente (in un input time). Una funzione onChange viene eseguita attraverso ogni input quando l'utente modifica un valore.Come verificare se una variabile è un oggetto Moment.js?

Gli ingressi popolati dal back-end vengono convertiti in oggetti moment, le date inserite dall'utente sono semplici stringhe. Ciò significa che la funzione onChange rileva alcuni oggetti moment e alcune stringhe. Devo sapere quali input sono gli oggetti moment e quali no.

Qual è il metodo consigliato per testare se una variabile è un oggetto moment?

Ho notato che gli oggetti moment hanno una proprietà _isAMomentObject ma mi chiedo se c'è un altro modo per verificare se una variabile è un oggetto moment.

Un'altra opzione che ho provato è chiamare moment sulla variabile. Converte le variabili string in oggetti moment e sembra non influire sugli oggetti esistenti moment.

+4

Sto votando per chiudere questa domanda come off-topic perché la [risposta è nella documentazione ufficiale] (http://momentjs.com/docs/#/query/is-a-moment/). – Mathletics

+0

Nonostante diverse ricerche non ho visto questo @Mathletics. Come ha sottolineato Jared Smith, è un po 'sepolto nei documenti. –

+1

@Mathletics In realtà l'ho trovato sfogliando il codice sorgente, quindi ero in grado di controllare i documenti per il collegamento. Google non è stato d'aiuto (che immagino sia quello che ha spinto la domanda in primo luogo), si tratta probabilmente di una risorsa più favorevole ai motori di ricerca (e quindi probabilmente vale la pena abbandonare i posteri). –

risposta

38

momento ha un isMoment method per una simile scopo. Non è particolarmente facile da trovare nei documenti a meno che tu non sappia cosa cercare.

Prima controlla instanceof e, in caso contrario (ad esempio in determinate situazioni di sottoclassi o di sottoclassi) verificherà la proprietà _isAMomentObject.

17

È possibile verificare se si tratta di un momento instanceof:

moment() instanceof moment; // true 
+4

Solo se l'istanza e il momento stesso si trovano nella stessa finestra. – JAAulde

+0

Buon punto, stavo assumendo il caso più semplice. –

Problemi correlati