// 定义函数
function complexBusinessLogic(
param1: string | undefined,
param2: string | undefined,
param3: number | undefined
): string | number | undefined {
if (param1 && param2 === '特定值') {
// 执行第一种计算逻辑
return param1.length;
} else if (!param1 && param3) {
// 执行另一种逻辑
return param3 * 2;
}
return undefined;
}
// 类型系统保证参数组合合法性及返回值类型推导
// 1. 参数类型定义明确,param1 为 string | undefined,param2 为 string | undefined,param3 为 number | undefined,限制了传入参数的类型。
// 2. 通过条件判断确保不同参数组合下执行相应逻辑,同时根据逻辑返回对应的类型。如第一种逻辑返回 string 的长度为 number 类型,第二种逻辑返回 number 类型,没有匹配逻辑时返回 undefined。
// 3. 函数返回值类型定义为 string | number | undefined,准确涵盖了所有可能的返回值情况。
// 可维护性和扩展性
// 1. 采用清晰的 if - else 条件判断,逻辑清晰,易于理解和维护。
// 2. 若需要添加新的参数组合逻辑,可在函数内部新增 if - else 分支,不会影响现有逻辑,保证了扩展性。