Các loại đối tượng TypeScript
TypeScript có một cú pháp cụ thể để gõ các đối tượng.
Đọc thêm về các đối tượng trong chương Đối tượng JavaScript của chúng tôi.
Ví dụ
const car: { type: string, model: string, year: number } = {
type: "Toyota",
model: "Corolla",
year: 2009
};
Hãy tự mình thử »Các loại đối tượng như thế này cũng có thể được viết riêng và thậm chí có thể được sử dụng lại, hãy xem các giao diện để biết thêm chi tiết.
Kiểu suy luận
TypeScript có thể suy ra các loại thuộc tính dựa trên giá trị của chúng.
Ví dụ
const car = {
type: "Toyota",
};
car.type = "Ford"; // no error
car.type = 2; // Error: Type 'number' is not assignable to type 'string'.
Hãy tự mình thử »Thuộc tính tùy chọn
Thuộc tính tùy chọn là những thuộc tính không cần phải xác định trong định nghĩa đối tượng.
Ví dụ không có thuộc tính tùy chọn
const car: { type: string, mileage: number } = { // Error: Property 'mileage' is missing in type '{ type: string;
}' but required in type '{ type: string; mileage: number; }'.
type: "Toyota",
};
car.mileage = 2000;
Ví dụ với thuộc tính tùy chọn
const car: { type: string, mileage?: number } = { // no error
type: "Toyota"
};
car.mileage = 2000;
Hãy tự mình thử » Được chứng nhận!
$45 ĐĂNG KÝ
Chữ ký chỉ mục
Chữ ký chỉ mục có thể được sử dụng cho các đối tượng không có danh sách thuộc tính được xác định.
Ví dụ
const nameAgeMap: { [index: string]: number } = {};
nameAgeMap.Jack = 25; // no error
nameAgeMap.Mark = "Fifty"; // Error: Type 'string' is not assignable to type 'number'.
Hãy tự mình thử » Chữ ký chỉ mục như thế này cũng có thể được thể hiện bằng các loại tiện ích như Record<string, number>
.
Tìm hiểu thêm về các loại tiện ích như thế này trong chương Loại tiện ích TypeScript của chúng tôi.