You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript中如何基于函数参数使用变量?如何简化重复条件代码?

TypeScript问题解答

一、根据函数参数使用变量

函数内部可直接通过参数名访问并使用参数。若需根据参数的值/类型匹配不同变量,推荐两种方式:

  • 条件分支:通过if/else或switch根据参数值选择对应变量
  • 对象映射:将参数值作为键,对应变量作为值存入对象,直接通过键取值

示例代码:

// 假设已有varA、varB、varC三个变量
function process(type: 'a' | 'b' | 'c') {
  // 方式1:条件分支
  let target;
  if (type === 'a') target = varA;
  else if (type === 'b') target = varB;
  else target = varC;

  // 方式2:对象映射(更简洁)
  const varMap = { a: varA, b: varB, c: varC };
  const target = varMap[type];
}

二、简化重复的if语句代码

针对多个if内重复的三行代码,分场景处理:

场景1:多个条件触发相同逻辑

如果三个if的条件是独立判断(无需互斥),直接把重复逻辑抽成函数:

// 封装重复逻辑
function commonLogic() {
  line1();
  line2();
  line3();
}

// 调用简化
if (cond1) commonLogic();
if (cond2) commonLogic();
if (cond3) commonLogic();

场景2:不同条件对应不同变量,但后续逻辑相同

如果每个if先赋值不同变量,再执行相同三行,结合对象映射统一处理:

// 假设参数为type,对应不同变量
const varMap = { cond1: varX, cond2: varY, cond3: varZ };
const targetVar = varMap[type];

// 直接执行重复逻辑
line1(targetVar);
line2(targetVar);
line3(targetVar);

场景3:条件可合并

如果三个条件是“或”关系,直接合并条件:

if (cond1 || cond2 || cond3) {
  line1();
  line2();
  line3();
}

内容的提问来源于stack exchange,提问作者Yatharth Nigam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 09:48:28