متى يجب استخدام 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()` قديم، لكنه لا يزال يُستخدم في المشاريع القديمة. متى يُستخدم أصلاً؟