यदि कोई चर मोमेंट.जेएस ऑब्जेक्ट है तो परीक्षण कैसे करें?


92

मेरे आवेदन में एक HTML फॉर्म है, जिसमें कुछ इनपुट्स बैकएंड से पॉपुलर हैं और अन्य इनपुट्स यूजर द्वारा (एक timeइनपुट में) डाले जा रहे हैं । onChangeउपयोगकर्ता द्वारा कोई मान बदलने पर प्रत्येक इनपुट के माध्यम से एक फ़ंक्शन चलता है।

बैकएंड से पॉपुलेट किए गए इनपुट्स momentऑब्जेक्ट्स में कनवर्ट हो जाते हैं, उपयोगकर्ता द्वारा दर्ज की गई तारीखें केवल तार हैं। इसका मतलब यह है कि onChangeफ़ंक्शन कुछ momentवस्तुओं और कुछ तारों का सामना करता है । मुझे यह जानने की जरूरत है कि कौन से इनपुट momentऑब्जेक्ट हैं और कौन से नहीं हैं।

यदि एक चर एक momentवस्तु है तो परीक्षण के लिए अनुशंसित विधि क्या है ?

मैंने देखा है कि momentवस्तुओं में एक _isAMomentObjectसंपत्ति है, लेकिन मैं सोच रहा हूं कि क्या एक चर का परीक्षण करने का एक और तरीका है moment

एक और विकल्प जो मैंने कोशिश किया है momentवह चर पर ध्यान दिए बिना बुला रहा है । यह stringचर को momentवस्तुओं में परिवर्तित करता है और मौजूदा momentवस्तुओं को प्रभावित नहीं करता है ।

जवाबों:


94

क्षण मात्र के लिए एक ऐसी isMomentविधि है । जब तक आप यह नहीं जानते कि डॉक्स को ढूंढना आसान नहीं है।

यह पहले जाँच करता है instanceofऔर फिर असफल होता है (उदाहरण के लिए कुछ उपवर्ग या क्रॉस-रियलम स्थितियों में) यह _isAMomentObjectसंपत्ति के लिए परीक्षण करेगा ।


क्या होगा अगर यह दृढ़ता से टाइप न हो? moment.isMoment (इनपुट);
डॉन थॉमस बॉयल

3
@DonThomasBoyle यह जावास्क्रिप्ट है: कोई मजबूत टाइपिंग नहीं है। टाइपिंग के लिए 'स्ट्रॉन्ग' एक अस्पष्ट शब्द है, लेकिन बहुत अधिक संभव परिभाषा (शायद मेमोरी सेफ्टी के अलावा) जेएस प्रकार कमजोर हैं। एक ही तरीका है कि आप उस झटका ऊपर हो सकता है अगर है inputहै nullया undefinedसचमुच किसी भी गैर-शून्य जे एस वस्तु या यहाँ तक कि आदिम मूल्य सिर्फ एक बूलियन वापस आ जाएगी।
जारेड स्मिथ

34

आप देख सकते हैं कि यह एक instanceofपल है:

moment() instanceof moment; // true

6
केवल यदि उदाहरण और पल ही उसी विंडो में हैं।
JAAulde

1
यह हमेशा सच होता है, क्योंकि पल () हमेशा एक पल की वस्तु का निर्माण करेगा। क्या आप इसके बजाय "obj Instof पल?" ?
NoBrainer

3

पल () Instof पल;

हमेशा सच होगा, क्योंकि अगर आपके पास है

  • क्षण (अपरिभाषित) उदाहरण पल
  • पल ("हेलो") उदाहरण के पल

आप हमेशा एक पल की वस्तु बना रहे हैं। तो एकमात्र तरीका इस तरह की जांच करना है

  • पल (संपत्ति) .isValid ()
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.