MST

星途 面试题库

面试题:TypeScript浏览器插件开发中的类型安全

在TypeScript开发浏览器插件时,如何利用类型系统确保传递给插件核心函数的参数类型正确?比如有一个函数接收一个用户ID并根据ID获取用户信息,怎样定义该函数的参数类型和返回类型,确保类型安全,避免潜在的运行时错误?
38.6万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
  1. 定义函数参数和返回类型
    • 假设用户ID是一个数字类型,获取的用户信息是一个包含name(字符串)和age(数字)的对象。
    // 定义用户信息的类型
    type UserInfo = {
        name: string;
        age: number;
    };
    // 定义核心函数
    function getUserInfoById(userId: number): UserInfo | null {
        // 模拟根据ID获取用户信息,这里简单返回null
        return null;
    }
    
  2. 解释
    • 首先定义了UserInfo类型,它描述了用户信息对象的结构,包含name字段为字符串类型,age字段为数字类型。
    • 然后定义getUserInfoById函数,其参数userId明确指定为number类型,返回类型为UserInfo | null,表示可能返回符合UserInfo类型的用户信息对象,也可能返回null(比如在未找到对应ID用户的情况下)。这样通过TypeScript的类型系统,在开发过程中如果传递给getUserInfoById函数非数字类型的参数,TypeScript编译器会报错,从而确保了类型安全,避免潜在的运行时错误。