MST

星途 面试题库

面试题:TypeScript函数类型定义中的可选参数与默认参数

在TypeScript中,描述一下函数可选参数和默认参数在类型定义上的区别,并各举一个示例。
24.7万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
  1. 区别
    • 可选参数:在函数定义时,通过在参数名后加 ? 表示该参数是可选的。调用函数时可以不传该参数。可选参数后面不能再跟必需参数。
    • 默认参数:在函数定义时,给参数直接赋一个默认值。调用函数时若不传该参数,则使用默认值。默认参数后面可以跟必需参数。
  2. 示例
    • 可选参数示例
function greet(name: string, message?: string) {
    if (message) {
        return `Hello, ${name}! ${message}`;
    }
    return `Hello, ${name}!`;
}
console.log(greet('John')); 
console.log(greet('John', 'How are you?')); 
  • 默认参数示例
function greetWithDefault(name: string, message = 'Have a nice day!') {
    return `Hello, ${name}! ${message}`;
}
console.log(greetWithDefault('Jane')); 
console.log(greetWithDefault('Jane', 'Goodbye!'));