类型兼容性
TypeScript 使用结构类型来确定类型兼容性。这意味着,如果两个类型具有相同的结构,无论其名称如何,都会被视为兼容。
下面是 TypeScript 中类型兼容性的示例:
ts
interface Point {
x: number;
y: number;
}
let p1: Point = { x: 10, y: 20 };
let p2: { x: number; y: number } = p1;
console.log(p2.x); // Output: 10在本例中,p1 的类型是 Point,而 p2 的类型是 { x: number; y: number }。尽管这两种类型的名称不同,但由于它们具有相同的结构,因此被认为是兼容的。这意味着可以将 Point 类型的值赋值给 { x: number; y: number } 类型的变量,就像本例中的 p1 和 p2 一样。