MST

星途 面试题库

面试题:TypeScript类型推断与类型声明在提升代码质量上的权衡

在前端项目中,TypeScript的类型推断会自动根据代码上下文推断类型,而显式的类型声明则能增强代码的可读性和可维护性。请阐述在哪些场景下应优先使用类型推断,哪些场景下应优先使用类型声明,以达到最佳的代码质量?并举例说明。
19.1万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试

优先使用类型推断的场景

  1. 简单变量初始化:当变量的类型可以从初始化值明显看出时,使用类型推断可减少冗余代码。
    • 示例
let num = 10; // 类型推断为number
  1. 函数返回值:如果函数返回值的类型能从函数体内部清晰推断,无需显式声明。
    • 示例
function add(a, b) {
    return a + b;
}
// 类型推断add函数返回值为number类型
  1. 数组字面量:数组元素类型可从元素本身推断,无需显式声明。
    • 示例
let arr = [1, 2, 3]; // 类型推断为number[]

优先使用类型声明的场景

  1. 函数参数:明确函数参数类型能增强代码可读性,让调用者清楚参数要求。
    • 示例
function greet(name: string) {
    return `Hello, ${name}!`;
}
  1. 复杂数据结构:如对象、接口等复杂类型,显式声明能避免潜在错误。
    • 示例
interface User {
    name: string;
    age: number;
}
let user: User = {
    name: 'John',
    age: 30
};
  1. 公共API或模块对外暴露的接口:清晰的类型声明有助于其他开发者理解和使用。
    • 示例
// 定义一个模块
export function calculate(a: number, b: number): number {
    return a + b;
}