wangdoc / typescript-tutorial

TypeScript 教程
https://wangdoc.com/typescript
2.5k stars 270 forks source link

[疑问]类型断言Assert章中70行感觉描述错误 ‘等号右边的类型是左边类型的子类型,子类型可以赋值给父类型‘ #28

Closed TalantTao closed 1 year ago

TalantTao commented 1 year ago

原文

// 正确
const p1:{ x: number } =
  { x: 0, y: 0 } as { x: number; y: number };

上面示例中,两种类型断言都是正确的。第一种断言将类型改成与等号左边一致,第二种断言使得等号右边的类型是左边类型的子类型,子类型可以赋值给父类型,同时因为存在类型断言,就没有严格字面量检查了,所以不报错。


类型断言Assert章中70行 ‘等号右边的类型是左边类型的子类型‘ 是不是描述错误 感觉是等号左边类型是等号右边断言后类型的子集。

image

ruanyf commented 1 year ago

只要 A 能赋值给 B,A 就是 B 的子类型。