متى يجب استخدام escape بدلاً من encodeURI / encodeURIComponent في JavaScript؟
مرحباً! لقد بدأت مؤخراً في تعلم JavaScript وواجهت ارتباكاً عند العمل مع ترميز URL. في أمثلة مختلفة من الكود، أرى ثلاث دوال: `escape()` و `encodeURI()` و `encodeURIComponent()`. يبدو أنها جميعاً تفعل الشيء نفسه — استبدال الرموز الخاصة بتمثيلها المئوي، لكنني لا أفهم متى يجب استخدام أي منها.\n\nعلى سبيل المثال، أكتب سكريبتاً صغيراً لإرسال البيانات إلى الخادم عبر طلب 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`. أي من الخيارين صحيح؟\n\nكما سمعت أن `escape()` قديم، لكنه لا يزال يُستخدم في المشاريع القديمة. متى يجب استخدامه أصلاً؟