Closed TalantTao closed 1 year ago
原文
// 正确 const p1:{ x: number } = { x: 0, y: 0 } as { x: number; y: number };
上面示例中,两种类型断言都是正确的。第一种断言将类型改成与等号左边一致,第二种断言使得等号右边的类型是左边类型的子类型,子类型可以赋值给父类型,同时因为存在类型断言,就没有严格字面量检查了,所以不报错。
类型断言Assert章中70行 ‘等号右边的类型是左边类型的子类型‘ 是不是描述错误 感觉是等号左边类型是等号右边断言后类型的子集。
只要 A 能赋值给 B,A 就是 B 的子类型。
原文
上面示例中,两种类型断言都是正确的。第一种断言将类型改成与等号左边一致,第二种断言使得等号右边的类型是左边类型的子类型,子类型可以赋值给父类型,同时因为存在类型断言,就没有严格字面量检查了,所以不报错。
类型断言Assert章中70行 ‘等号右边的类型是左边类型的子类型‘ 是不是描述错误 感觉是等号左边类型是等号右边断言后类型的子集。