TypeScript 教程
/ 對象類型
對象類型
類型推斷
TypeScript 可以根據(jù)屬性的值推斷其類型。
實例
const car = { type: "Toyota", }; car.type = "Ford"; // no error car.type = 2; // 錯誤:類型 'number' 不能分配給類型 'string'。
可選屬性
可選屬性是不必在對象定義中定義的屬性。
沒有可選屬性的例子
const car: { type: string, mileage: number } = { // 錯誤:類型 '{ type: string; }' 中缺少屬性 'mileage',但類型 '{ type: string; mileage: number; }' 中需要該屬性。 type: "Toyota", }; car.mileage = 2000;
具有可選屬性的例子
const car: { type: string, mileage?: number } = { // 沒有錯誤 type: "Toyota" }; car.mileage = 2000;
索引簽名
索引簽名可用于沒有定義屬性列表的對象。
實例
const nameAgeMap: { [index: string]: number } = {}; nameAgeMap.Jack = 25; // 沒有錯誤 nameAgeMap.Mark = "Fifty"; // 錯誤:類型 'string' 不能分配給類型 'number'。
像這樣的索引簽名也可以使用 Record<string, number>
等實用類型來表示。
參閱:TypeScript 實用類型。