MST

星途 面试题库

面试题:TypeScript可选和默认参数在函数重载中的运用

假设有一个TypeScript函数,它有多种调用方式:第一种是传入一个字符串参数;第二种是传入一个字符串参数和一个可选的布尔参数,且布尔参数默认值为false。当布尔参数为true时,返回字符串的大写形式,否则返回原字符串。请使用函数重载的方式实现这个功能,并阐述在这种场景下可选参数和默认参数与函数重载是如何协同工作的。
19.1万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
// 函数重载声明
function processString(str: string): string;
function processString(str: string, toUpperCase: boolean): string;

// 函数实现
function processString(str: string, toUpperCase: boolean = false): string {
    return toUpperCase? str.toUpperCase() : str;
}

可选参数、默认参数与函数重载的协同工作阐述

  1. 函数重载声明:通过函数重载,我们可以为同一个函数定义多个不同的签名。这里定义了两个签名,一个只接受一个字符串参数,另一个接受一个字符串参数和一个布尔参数。这样调用者在调用函数时,TypeScript编译器可以根据传入的参数数量和类型来确定调用的具体实现。
  2. 可选参数和默认参数:在实际的函数实现中,使用了默认参数toUpperCase: boolean = false。这意味着如果调用者只传入一个字符串参数(符合第一个重载签名),则toUpperCase会使用默认值false。如果调用者传入两个参数(符合第二个重载签名),则会使用传入的布尔值来决定是否将字符串转换为大写。所以,可选参数和默认参数与函数重载共同工作,既提供了灵活的调用方式,又通过类型检查保证了代码的安全性。