前端 TypeScript 面试题, 什么是 TypeScript 的 Function 类型?
前端 TypeScript 面试题, 什么是 TypeScript 的 Function 类型?
QA
Step 1
Q:: 什么是 TypeScript 的 Function 类型?
A:: TypeScript 的 Function 类型用于定义函数的形状,即函数的参数和返回值的类型。通过定义函数类型,可以确保函数的使用符合预期的签名。Function 类型有两种方式定义:一种是使用函数声明的方式,另一种是使用函数表达式的方式。函数类型可以帮助在代码中防止类型错误并提高代码的可维护性。
Step 2
Q:: 如何在 TypeScript 中为函数的参数定义类型?
A:: 在 TypeScript 中,可以通过在函数参数后面加上类型注解来为参数定义类型。例如,function add(a: number, b: number): number { return a + b; }
。在这个例子中,a
和 b
的类型是 number
,而函数的返回值类型也是 number
。这样可以确保在函数调用时传入的参数类型是正确的。
Step 3
Q:: 什么是 TypeScript 中的可选参数和默认参数?
A:: 在 TypeScript 中,可以通过在参数名后加 ?
来定义可选参数,即该参数可以传递或不传递。默认参数则是指为参数提供一个默认值,当调用函数时没有传递该参数时会使用这个默认值。例如,function greet(name: string, greeting: string = 'Hello'): string { return greeting + ' ' + name; }
。在这个例子中,greeting
是一个默认参数,默认值为 'Hello'
。
Step 4
Q:: TypeScript 中的函数重载是什么?
A:: 函数重载允许你在同一个函数名下定义多个不同的函数签名,这些签名可以有不同的参数类型或数量。TypeScript 会根据传递的参数选择合适的签名。例如:function greet(person: string): string; function greet(person: string, age: number): string; function greet(person: string, age?: number): string { return age ? person + ' is ' + age : 'Hello ' + person; }
。这个例子展示了一个函数重载的情况。
Step 5
Q:: 如何在 TypeScript 中定义一个返回值类型为联合类型的函数?
A:: 可以通过使用 TypeScript 的联合类型来定义一个函数的返回值类型。例如:function formatId(id: number | string): string { return id.toString(); }
。这个函数接受一个 number
或 string
类型的参数,并返回一个 string
。联合类型使函数更具灵活性,能够处理多种类型的输入。