MST

星途 面试题库

面试题:TypeScript中如何运用问题域语言命名类型以提升代码可读性

假设你正在开发一个简单的用户管理系统,其中有用户登录功能。请使用TypeScript,运用问题域语言命名相关的类型,例如用户信息类型、登录请求参数类型等,并给出代码示例。
45.1万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
// 用户信息类型
type UserInfo = {
    username: string;
    password: string;
};

// 登录请求参数类型
type LoginRequest = {
    user: UserInfo;
};

// 模拟登录函数
function login(request: LoginRequest): boolean {
    // 实际中这里会进行数据库查询等验证逻辑
    const { username, password } = request.user;
    if (username === 'validUser' && password === 'validPassword') {
        return true;
    }
    return false;
}

// 使用示例
const loginRequest: LoginRequest = {
    user: {
        username: 'validUser',
        password: 'validPassword'
    }
};

const result = login(loginRequest);
console.log(result);