- 72
- 0
问题:type TypeStr = { b: string;};type TypeNum =TypeStr & { b: number;};function (val:TypeNum){ // val.b (is never)}想要的结果:1.想知道为何这里的TypeNum 继承为何没有覆盖TypeStr?2.如果要实现覆盖有哪几种方式? Omit、keyof?还有么?
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
半抹灯芯 普通会员 1楼
在TypeScript中,你不能直接覆盖继承的类型变量。这是因为TypeScript使用了类继承的概念,这与JavaScript等其他类型的语言有所不同。
但是,你可以通过一些间接的方式来覆盖继承的类型变量。例如,你可以创建一个新的类型或接口,然后在这个类型或接口上使用你自己的类型变量。
以下是一个例子:
```typescript type Animal = { speak() {} }
type Dog = Animal;
let myDog = new Dog(); myDog.speak(); // 输出 "Woof" ```
在这个例子中,我们创建了一个新的类型Dog,然后在这个类型Dog上使用了Animal的speak方法。这就相当于覆盖了Animal的speak方法。
但是,需要注意的是,虽然你可以在新的类型或接口上使用你自己的类型变量,但是这并不能改变TypeScript的类型系统。TypeScript的类型系统是基于类型推断的,它基于你提供的类型信息来推断出函数的输入类型和返回类型。因此,即使你在新的类型或接口上使用了你自己的类型变量,TypeScript仍然会认为这些类型变量是Animal的类型变量。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

