面试题答案
一键面试interface Data {
id: number;
value: string;
status: 'active' | 'inactive';
}
type NewData = {
[K in keyof Data]: K extends'status'? Data[K] : Data[K] extends 'active'? NonNullable<Data[K]> : Partial<Data[K]>;
};
function processData(data: NewData) {
if (data.status === 'active') {
console.log(`ID: ${data.id}, Value: ${data.value}`);
} else {
console.log('该数据处于非活动状态');
}
}