क्या पायथन पास स्टेटमेंट के बराबर एक जावास्क्रिप्ट है जो कुछ भी नहीं करता है?


93

मैं अजगर के बराबर एक जावास्क्रिप्ट की तलाश में हूं:

passकथन जो ...संकेतन का कार्य नहीं करता है?

क्या जावास्क्रिप्ट में ऐसी कोई बात है?


18
क्या {}खाली ब्रेसिज़ एक ही चीज़ नहीं है?
— सागरचलिस

@sagarchalise यह सच है
— ΛRY MayN

nullकभी-कभी उसके लिए प्रयोग किया जाता है, जैसे किif (condition) null;
— दीमा परज़ित्स्की

जवाबों:


143

पाइथन passमुख्य रूप से मौजूद है क्योंकि पाइथन व्हाट्सएप एक ब्लॉक के भीतर मायने रखता है। जावास्क्रिप्ट में, समतुल्य ब्लॉक के भीतर कुछ भी नहीं होगा, अर्थात {}।


32

//passअजगर की तरह उपयोग करेंpass

पसंद:

if(condition){
   //pass
}

यह ब्लॉक को इसमें कुछ भी नहीं छोड़ने के बराबर है, लेकिन पठनीयता कारणों से अच्छा है।

https://eslint.org/docs/rules/no-empty से संदर्भ


16

खाली ब्लॉकों के लिए अजगर का पास आवश्यक है।

try:
    # something
except Exception:
    pass

जावास्क्रिप्ट में आप बस एक खाली ब्लॉक पकड़ सकते हैं

try {
    // some code
} catch (e) {
    // This here can be empty
}

4

जावास्क्रिप्ट में एक अजगर passबराबर नहीं है , दुर्भाग्य से।

उदाहरण के लिए, जावास्क्रिप्ट में ऐसा कुछ करना संभव नहीं है:

process.env.DEV ? console.log('Connected..') : pass

इसके बजाय, हमें यह करना चाहिए:

if (process.env.DEV) console.log('Connected..')

passदूसरों के बीच, कथन का उपयोग करने का लाभ यह है कि विकास प्रक्रिया के दौरान, हम इस मामले में उपरोक्त टर्नरी ऑपरेटर उदाहरण से इसे पूर्ण ifविवरण में बदले बिना विकसित कर सकते हैं ।


यह ठीक उसी तरह से काम करता है जैसे आप पायथन में करते हैं, आप passसशर्त अभिव्यक्ति में उपयोग नहीं कर सकते , आपको एक सशर्त विवरण का उपयोग करना होगा
— juanpa.arrivillaga

2

कुछ मामलों में passबस हो सकता है;

एक वास्तविक जीवन उदाहरण हो सकता है:

var j;
for (j = i + 1; j < binstrN.length && binstrN[j] != 1; j++) {
}
let count = j - i;

के रूप में ही है

var j;
for (j = i + 1; j < binstrN.length && binstrN[j] != 1; j++);
let count = j - i;

यहां हम jअगले '1' पर जाने का प्रयास कर रहे हैं , जबकि iपहले से ही '1' में था, इसलिए countपहले दो '1' के बीच की दूरी को बाइनरी स्ट्रिंग में देता हैbinstrN


1

मैंने पाया है कि मुझे खाली ब्रेसिज़ के साथ एक त्रुटि मिलती है, इसके बजाय मैंने वहाँ एक अर्धविराम लगाया, मूल रूप से एक ही बात:

try { //something; } catch (err) { ; }

7
बिना किसी अर्धविराम के साथ खाली ब्रेसिज़ के साथ आपको क्या त्रुटि मिलती है?

1

यदि आप बस ऑपरेटर को टर्नरी ऑपरेटर में या सिर्फ जेएस में एक बयान में उपयोग करना चाहते हैं, तो आप यह कर सकते हैं:

a === true && console.log('okay')

आप भी इस्तेमाल कर सकते हैं || ऑपरेटर लेकिन आपको पता होना चाहिए कि || && के विपरीत है। फिर यदि आप किसी फ़ंक्शन में पास का उपयोग करना चाहते हैं या सामान्य रूप से ब्लॉक करते हैं जैसा कि हम पायथन में करते हैं:

def Func(): pass

जेएस में आपको बस ब्लॉक को खाली छोड़ देना चाहिए:

 if(){ 
    console.log('ok')
    }else{}

अंत में, पायथन में कोई ब्रेसिज़ नहीं होते हैं, इसलिए यह मुख्य कारण है कि हमारे पास पास क्यों है।

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