在 TypeScript 中,对象类型可以通过以下两种方式定义:
interface
)type
)interface
)定义对象类型接口可以用来定义一个对象的形状,包括属性名和它们的类型。
示例:
interface Person {
name: string; // 定义name属性为字符串类型
age: number; // 定义age属性为数字类型
greet(): void; // 定义greet方法,不返回任何值
}
let person: Person = {
name: "Alice",
age: 25,
greet() {
console.log(`Hello, my name is ${this.name}.`);
}
};
person.greet(); // 输出:Hello, my name is Alice.
type
)定义对象类型类型别名是另一种定义对象类型的方式,和接口类似。
示例:
type Car = {
brand: string; // 定义brand属性为字符串类型
model: string; // 定义model属性为字符串类型
year: number; // 定义year属性为数字类型
};
let myCar: Car = {
brand: "Toyota",
model: "Corolla",
year: 2020
};
console.log(myCar.model); // 输出:Corolla
extends
)来组合多个接口。&
)来组合多个类型。你可以通过接口的继承或类型别名的交叉类型来扩展对象类型。
示例:接口继承
interface Animal {
name: string;
}
interface Dog extends Animal {
breed: string;
}
let myDog: Dog = {
name: "Buddy",
breed: "Golden Retriever"
};
示例:类型别名的交叉类型
type Point = {
x: number;
y: number;
};
type Point3D = Point & {
z: number;
};
let point: Point3D = {
x: 10,
y: 20,
z: 30
};
对象类型在 TypeScript 中用于定义对象的结构,确保对象中的属性符合指定的类型。可以使用 interface
或 type
来定义对象类型,并根据需求选择合适的方式。