3
关注
1683
浏览

typescript generic type guard

为什么被折叠? 0 个回复被折叠
夏秋先生 未验证用户 用户来自于: 广东省
2020-09-16 14:22

有多个问题,在这里:

  1. isC功能需要Foo作为一个类型参数。这意味着它需要声明如下:

    private isC(... 
    
  2. isC返回类型定义不匹配其输入参数。返回类型声明isC返回true,当其参数d类型C[],但输入类型被限制为Foo[]C(它们都不是C[])。

    此申报工作:

    private isC<Foo>(d: Foo[] | C<Foo>[]): d is C<Foo>[] { ... 
    
  3. (>)d[0]不是有效的类型转换。试试这个,而是:

    return (d as C[])[0].key !== undefined 
    

也看到这个playground with compiling example。

回目一笑 未验证用户 用户来自于: 广东省
2020-09-17 16:04
private isC(d: Foo[] | C): d is C[] { 
    return (d as C[])[0].key !== undefined 
} 

关于作者

问题动态

发布时间
2020-09-15 15:51
更新时间
2022-09-15 16:01
关注人数
3 人关注

相关问题

BTC-TC6S-23,TYPE-C6P,MC-317,YTC-TC6S。
TYPEC-503DSL-ACP24,TYPEC-1102-ARP24。
Typescript的/ ** @class * /是否有目的?
请问TYPE-C连接器贵不贵啊,选什么品牌好?
U264-141N-4BAC,TYPEC-305-ACP16,
1UBC090X,UC67,到哪里去买TYPEC连接器好?
innovate主营的数据连接器、3.1TYPEC单价太高啦,有便宜的厂家吗
TYPE-C-14M-015-100,TYPE-C-6M-010-093。
USB-307B,MC-316。想订购一批3.1TYPE-C连接器,有好的厂家吗
我司做照明设备的,需要用到3.1TYPE-C连接器,有推荐的厂家嘛?
个人工作笔记 Powered BY WeCenter V4.1.0 © 2024 粤ICP备2020123311号