JavaScript में escape का उपयोग कब करना चाहिए, encodeURI / encodeURIComponent के बजाय?
नमस्ते! मैंने हाल ही में JavaScript सीखना शुरू किया है और URL-एन्कोडिंग के साथ काम करते समय भ्रम का सामना करना पड़ा। विभिन्न कोड उदाहरणों में मैं तीन फ़ंक्शन देखता हूँ: `escape()`, `encodeURI()` और `encodeURIComponent()`। ये सभी एक ही काम करते प्रतीत होते हैं — विशेष कैरेक्टर को उनके प्रतिशत प्रतिनिधित्व से बदलना, लेकिन मुझे समझ नहीं आता कि कब किसका उपयोग करना चाहिए।
उदाहरण के लिए, मैं GET-रिक्वेस्ट के माध्यम से सर्वर पर डेटा भेजने के लिए एक छोटा स्क्रिप्ट लिख रहा हूँ। मुझे URL में पैरामीटर पास करने की आवश्यकता है, जिसमें सिरिलिक, स्पेस और विराम चिह्न शामिल हैं। यदि मैं `escape()` का उपयोग करता हूँ, तो मुझे कुछ इस तरह मिलता है `%u041F%u0440%u0438%D0%B2%D0%B5%D1%82`, और यदि `encodeURIComponent()` का उपयोग करता हूँ — तो `%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82`। कौन सा विकल्प सही है?
इसके अलावा, मैंने सुना है कि `escape()` पुराना हो चुका है, लेकिन फिर भी पुराने प्रोजेक्ट्स में इसका उपयोग किया जाता है। इसका उपयोग कब करना चाहिए?