كيفية تعيين قيمة افتراضية لكائن معامل دالة في TypeScript؟
مرحبًا! لقد بدأت للتو في تعلم TypeScript، وواجهت مشكلة مع معاملات الدوال التي تكون كائنات.
لنفترض أن لدي دالة تأخذ كائنًا بالإعدادات:
```typescript
function createUser(config: { name: string; age: number; isAdmin: boolean }) {
// ...
}
```
أريد أن يكون المعامل `config` اختياريًا، وإذا لم يتم تمريره، فتُستخدم القيم الافتراضية. في JavaScript كنت سأفعل ذلك هكذا:
```javascript
function createUser(config = { name: 'Guest', age: 18, isAdmin: false }) {
// ...
}
```
لكن في TypeScript هذا لا يعمل لأن نوع `config` يجب أن يكون محددًا. جربت خيارات مختلفة:
1. مجرد تحديد قيمة افتراضية — TypeScript يشتكي من عدم تطابق الأنواع.
2. استخدام `Partial` — لكن عندها لا أستطيع تعيين قيم افتراضية محددة.
3. جعل جميع الحقول اختيارية عبر `?` — لكن عندها تفقد صرامة الأنواع.
إليك مثال على الكود الخاص بي الذي لا يُترجم: