业务背景
用了快2个月typescript
了,感觉自己已经完全会用这玩意儿了.
今天在看别人代码的时候,还是发现很多没用到过的东西.
下面这一项就没看懂
源码
声明
export interface RequestConfig<MockUrl extends string = any, RequestDataOptional extends boolean = any> {
/** 接口 Mock 地址,结尾无 `/` */
mockUrl: MockUrl;
/** 请求数据是否可选 */
requestDataOptional: RequestDataOptional;
}
调用
type PetRequestConfig = Readonly<
RequestConfig<'http://yapi.jixugou.cn/mock/47', '', 'http://www.baidu.com', '/pet', 'data', string, string, false>
>
我的思路
RequestConfig<MockUrl extends string = any
- 声明了一个名叫
RequestConfig
的接口 - 这是一个泛型接口
- 其中一个泛型类型叫
MockUrl
- 用string类型来约束这个
MockUrl
- ??? 后面又给了一个
any
的默认值
我的问题
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…