אובייקטי TypeScript פשוטים למתחילים
אובייקטים הם חלק בסיסי ב-JavaScript וב-TypeScript. הם מאפשרים לך לקבץ נתונים ופונקציות קשורות יחד, מה שמספק דרך לדגמן ישויות בעולם האמיתי בקוד שלך. TypeScript משפר אובייקטי JavaScript עם בטיחות סוג, מה שהופך את הקוד שלך לחיזוי יותר וקל יותר לתחזוקה. מדריך זה יפשט את הרעיון של אובייקטי TypeScript למתחילים.
מהו אובייקט ב-TypeScript?
object הוא אוסף של זוגות מפתח-ערך, כאשר המפתחות הם מחרוזות (או סמלים) וערכים יכולים להיות מכל סוג. ב-TypeScript, אתה יכול להגדיר את הצורה של אובייקט באמצעות סוגים או ממשקים, כדי להבטיח שהאובייקט עוקב אחר מבנה מסוים.
הגדרת אובייקטים פשוטים ב-TypeScript
נתחיל בהגדרת אובייקט פשוט ב-TypeScript. זה דומה לאופן שבו אתה מגדיר אובייקטים ב-JavaScript אבל עם היתרון הנוסף של בטיחות סוג.
דוגמה לאובייקט בסיסי
כך מגדירים אובייקט פשוט ב-TypeScript:
const person: { name: string; age: number } = {
name: "Alice",
age: 25
};
console.log(person.name); // Output: Alice
console.log(person.age); // Output: 25
בדוגמה זו, לאובייקט person
יש שני מאפיינים: name
(מהסוג string
) ו-age
(מהסוג number)
). TypeScript יבטיח שהאובייקט דבק במבנה הזה.
שימוש בממשקים להגדרת מבנה אובייקט
ממשק הוא תכונה רבת עוצמה ב-TypeScript המגדירה את הצורה של אובייקט. ממשקים מספקים דרך להגדיר חוזים בתוך הקוד שלך, ומבטיחים שאובייקטים דבקים במבנה מסוים.
הגדרת ממשק
הנה איך להשתמש בממשק כדי להגדיר את המבנה של אובייקט:
interface Person {
name: string;
age: number;
}
const person: Person = {
name: "Bob",
age: 30
};
console.log(person.name); // Output: Bob
console.log(person.age); // Output: 30
בדוגמה זו, ממשק Person
מגדיר את המבנה של אובייקט אדם. המשתנה person
חייב לדבוק במבנה הזה, אחרת TypeScript יזרוק שגיאה.
מאפיינים אופציונליים באובייקטים
TypeScript מאפשר לך להגדיר מאפיינים אופציונליים באובייקטים באמצעות הסמל ?
. ניתן להשמיט מאפיינים אופציונליים בעת יצירת אובייקטים, מה שמספק גמישות באופן שבו אתה מגדיר מבני אובייקט.
דוגמה עם מאפיינים אופציונליים
הנה דוגמה שבה המאפיין phoneNumber
הוא אופציונלי:
interface Employee {
name: string;
age: number;
phoneNumber?: string; // Optional property
}
const employee1: Employee = {
name: "John",
age: 28
};
const employee2: Employee = {
name: "Doe",
age: 32,
phoneNumber: "123-456-7890"
};
console.log(employee1.phoneNumber); // Output: undefined
console.log(employee2.phoneNumber); // Output: 123-456-7890
בדוגמה זו, ל-employee1
אין מאפיין phoneNumber
, ואילו ל-employee2
יש. שניהם תקפים לפי ממשק Employee
.
מאפיינים לקריאה בלבד באובייקטים
TypeScript מאפשר לך ליצור מאפיינים readonly, ומונע מהם להשתנות לאחר יצירת האובייקט. זה שימושי ליצירת אובייקטים בלתי ניתנים לשינוי.
דוגמה עם מאפיינים לקריאה בלבד
כך מגדירים מאפיינים לקריאה בלבד:
interface Car {
readonly brand: string;
model: string;
}
const car: Car = {
brand: "Toyota",
model: "Camry"
};
// car.brand = "Honda"; // Error: Cannot assign to 'brand' because it is a read-only property
car.model = "Corolla"; // Valid
console.log(car.model); // Output: Corolla
בדוגמה זו, המאפיין brand
מסומן כ-readonly
. כל ניסיון לשנות אותו יגרום לשגיאה בזמן הידור.
אובייקטים מקוננים ב-TypeScript
ניתן לקנן אובייקטים מסוג TypeScript, כלומר אובייקט יכול להכיל אובייקט אחר כמאפיין. זה נפוץ במבני נתונים מורכבים.
דוגמה לאובייקטים מקוננים
הנה דוגמה לאובייקט מקונן:
interface Address {
street: string;
city: string;
zipCode: string;
}
interface User {
name: string;
age: number;
address: Address; // Nested object
}
const user: User = {
name: "Emily",
age: 27,
address: {
street: "123 Main St",
city: "New York",
zipCode: "10001"
}
};
console.log(user.address.city); // Output: New York
בדוגמה זו, לממשק User
יש אובייקט Address
מקונן. האובייקט user
עוקב אחר המבנה הזה, ומאפשר גישה למאפיינים מקוננים.
מַסְקָנָה
אובייקטים ב-TypeScript חזקים וגמישים יותר מאובייקטי JavaScript רגילים בשל הגדרות טיפוס, מאפיינים אופציונליים, מאפיינים לקריאה בלבד ומבנים מקוננים. על ידי הגדרת אובייקטים באמצעות ממשקים, תוכל ליצור קוד חזק יותר וללא שגיאות. התחל להשתמש באובייקטי TypeScript בפרויקטים שלך כדי לרתום את מלוא העוצמה של בטיחות סוג ונתונים מובנים.