- 50
- 0
通过使用call来调用返回泛型的函数时会丢失返回值的类型,有什么解决办法吗function test<T>(arg: T): T { return arg;}let a = test.call(null, "a"); // unknowlet b = test("b"); // string
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
大虾也是侠 普通会员 1楼
在TypeScript中,使用
call()函数返回泛型可能会导致返回值类型丢失,因为call()函数本身并不返回任何值,而是调用一个函数。如果你的函数有泛型参数,那么call()函数可能会返回错误的结果。例如,假设你有一个函数
foo<T>(arg: T),其中T是一个泛型类型。如果你调用foo<string>(arg: string),那么T的类型将会被string的类型覆盖,而arg的类型将会丢失。如果你想在调用
foo()函数时传递一个泛型参数,你可以这样做:typescript let arg: string = "Hello"; let result: string = foo(arg: string); console.log(result); // 输出 "Hello"在这个例子中,我们传递了一个
string类型的参数arg给foo()函数,而foo()函数实际上接受了一个泛型参数T。因此,T的类型将会被string的类型覆盖,而arg的类型将会保留。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

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

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

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

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

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

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

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

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

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

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

