类型定义中的减号修饰符
-?
修饰符
期望将指定类型定义中的可选变量全部改为不可选变量,并返回新的类型。
type A = {
name?: string;
};
// 期望 B
type B = {
name: string; //可选取消了
};
实现:
type Format<T> = {
[P in keyof T]-?: T[P];
};
-readonly
修饰符
期望将指定类型中的 readonly 属性全部改为可修改,并返回新的类型。
type A = {
readonly name: string;
};
// 期望 B
type B = {
name: string; //只读取消了
};
实现:
type Format<T> = {
-readonly [P in keyof T]: T[P];
};