3
关注
1585
浏览

typescript generic type guard

为什么被折叠? 0 个回复被折叠
回目一笑 未验证用户 用户来自于: 广东省
2020-09-17 16:04
private isC(d: Foo[] | C): d is C[] { 
    return (d as C[])[0].key !== undefined 
} 
夏秋先生 未验证用户 用户来自于: 广东省
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-15 15:51
更新时间
2022-09-15 16:01
关注人数
3 人关注

相关问题

yaan主营系列USB连接器,3.1TYPEC除了这些还有别的嘛,
GT-USB,PUB050-1611,生产TYPEC厂家哪家比较可靠?
除了LIANYDA还有哪个工厂有USB连接器,3.1TYPEC现货吗,很急
U-F-10SW,哪里做TYPE-C连接器比较好,麻烦知道的朋友推荐一下
BTC-TC6S-23,TYPE-C6P,MC-317,YTC-TC6S。
哪家公司有在做TYPEC连接器的,麻烦推荐一下
MC-303S,918-418K,TYPE-C-31
1UBC090X,UC67,到哪里去买TYPEC连接器好?
将数组映射到Typescript/Angular中的对象
品牌TYPEC连接器采购去哪里比较好
个人工作笔记 Powered BY WeCenter V4.1.0 © 2024 粤ICP备2020123311号