كيفية استخدام الوصول الاختياري (optional chaining) مع المصفوفات والدوال في TypeScript؟
مرحباً بالجميع! أنا مبتدئ في TypeScript وواجهت مشكلة عند استخدام الوصول الاختياري (?.). أعلم أنه يساعد في الوصول الآمن إلى الخصائص المتداخلة للكائنات، لكنني لا أفهم كيفية تطبيقه بشكل صحيح على المصفوفات والدوال.
هذا مثال مع مصفوفة. لدي كائن `user` قد يحتوي على مصفوفة `posts`. أريد الحصول على أول منشور إذا كانت المصفوفة موجودة، وإلا إرجاع `undefined`:
```typescript
interface User {
name: string;
posts?: Post[];
}
interface Post {
title: string;
content: string;
}
const user: User = { name: "Alice" };
// أحاول الحصول على أول منشور
const firstPost = user.posts?.[0]; // خطأ: "The left-hand side of an assignment expression may not be optional property access."
```
جربت `user.posts?[0]` — لم يعمل. ثم قرأت أنه يجب كتابة `user.posts?.[0]`، لكن ما زلت أحصل على خطأ. ما المشكلة؟
سؤال آخر مع الدوال. لدي كائن بدالة اختيارية `getFullName`