MST

星途 面试题库

面试题:TypeScript类型保护与条件类型结合的复杂应用

定义一个类型`Maybe<T>`,它表示`T`类型或者`null`。编写一个函数`unwrap`,接受一个`Maybe<T>`类型的参数,如果参数不为`null`,返回参数本身,并且类型推断为`T`;如果参数为`null`,抛出一个错误。要求使用类型保护和条件类型实现,确保类型安全。
12.6万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
// 定义Maybe<T>类型
type Maybe<T> = T | null;

// 定义unwrap函数
function unwrap<T>(value: Maybe<T>): T {
    if (value === null) {
        throw new Error('Value is null');
    }
    return value;
}