الـ Getters و Setters في TypeScript: كيف تستخدم get و set بشكل صحيح؟
مرحباً بالجميع! لقد بدأت للتو في تعلم TypeScript وانتقلت من JavaScript. يبدو أنني أفهم الفئات (classes)، لكنني لا أستطيع فهم الـ getters و setters (get و set).
لدي فئة User بسيطة، حيث أريد تخزين الاسم الأول واسم العائلة، وعند الوصول إلى الحقل fullName أحصل عليهما معاً. كتبت هذا الكود:
```typescript
class User {
firstName: string;
lastName: string;
get fullName(): string {
return `${this.firstName} ${this.lastName}`;
}
}
const user = new User();
user.firstName = "Иван";
user.lastName = "Петров";
console.log(user.fullName); // "Иван Петров" - يعمل!
```
لكن بعد ذلك حاولت إنشاء setter لـ fullName، بحيث يمكن تعيين الاسم الأول واسم العائلة بسطر واحد:
```typescript
class User {
firstName: string = '';
lastName: string = '';
get fullName(): string {
return `${this.firstName} ${this.lastName}`;
}
set fullName(value: string) {
const parts = value.split(' ');
this.firstName = parts[0];
t