Avatar ·

كيفية تمرير جزء من المعاملات الاختيارية في دالة TypeScript مع تخطي البعض الآخر؟

مرحبًا أيها الزملاء! أنا مبتدئ في TypeScript وقد واجهت مشكلة تبدو لي غير قابلة للحل. لدي دالة تحتوي على عدة معاملات اختيارية. على سبيل المثال، أكتب دالة لإعداد ملف تعريف المستخدم: ```typescript function createProfile( username: string, age?: number, email?: string, isAdmin?: boolean ): void { console.log(`Username: ${username}`); if (age !== undefined) console.log(`Age: ${age}`); if (email !== undefined) console.log(`Email: ${email}`); if (isAdmin !== undefined) console.log(`Admin: ${isAdmin}`); } ``` المشكلة هي أنني أريد تمرير `email` و `isAdmin`، ولكن تخطي `age`. في JavaScript/TypeScript لا يمكنني ببساطة تخطي المعامل الأوسط، كما في Python أو لغات أخرى. إذا كتبت: ```typescript createProfile("john_doe", "john@example.com", true); ``` سيصدر TypeScript خطأً، لأن الوسيطة الثانية تتوقع `number | undefined`، بينما أنا أمرر سلسلة نصية. الطريقة الوحيدة التي أعرفها