TypeScript 高级类型应用:条件类型与字符串模板字面量类型
1. 条件类型在对象序列化中的应用
在处理对象序列化时,我们常常需要移除对象中不可序列化的属性,如函数。同时,如果对象本身有 serialize 方法,我们希望直接使用该方法的返回值作为序列化结果。以下是具体的实现步骤:
1.1 定义基本类型
首先,我们定义一个简单的 Person 对象类型:
type Person = {
name: string;
age: number;
hello: () => string;
};
然后,创建一个 Serializer 类,其中包含一个 serialize 方法:
class Serializer {
constructor() {}
serialize<T>(obj: T): Serialize<T> {
// tbd...
}
}
1.2 移除函数属性
为了移除对象中的函数属性,我们定义一个 Remove 类型:
type Remove<O, T> = {
[K in key
超级会员免费看
订阅专栏 解锁全文
76

被折叠的 条评论
为什么被折叠?



