Skip to content
On this page

类型兼容性

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 } 类型的变量,就像本例中的 p1p2 一样。