type xin = {age:number,name:string}
type ab = {name:string}
type hd = ab extends xin ? true :false
为毛这里hd是false?
不可以继承吗?
type xin = {age:number,name:string}
type ab = {name:string}
type hd = ab extends xin ? true :false
为毛这里hd是false?
不可以继承吗?
ts中A extends B?
的意思可以理解为A类型的变量是否可以赋值给B类型的变量,或者是访问B类型变量的地方能否替换为A类型变量。
所以你的代码可以这么理解,假设有两个变量let vab: ab = { name: 'a' }; let vxin: xin = { age: 18, name: 'x' };
,vab显然不可以赋值给vxin,因为vab不满xin的约束条件,但是vxin满足ab的约束条件,所以xin extends ab
是true,vinx可以赋值给vab。
13 回答12.8k 阅读
7 回答2k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答936 阅读✓ 已解决
6 回答1.1k 阅读
3 回答1.3k 阅读✓ 已解决
xin extends ab
才是true