You need to enable JavaScript to run this app. 如何修复Exercism练习中JavaScript版two fer程序的bug
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Exercism练习中JavaScript版two fer程序的bug

修复方案

问题原因

你的代码仅判断了参数是否为空字符串,没有处理「未传入参数」的场景:当调用twoFer()不传递任何参数时,形参name的值为undefined,现有判断name !== ""会把undefined判定为符合条件,返回One for undefined, one for me.,不符合需求。

最优修复写法

直接给参数加默认值,配合模板字符串简化代码,完全覆盖需求:

export const twoFer = (name = "you") => {
  return `One for ${name}, one for me.`
}

兼容原有写法的修复方案

如果你想保留原有if/else的代码结构,修改判断条件即可:

export const twoFer = (name) => {
  if (name) {
    return "One for " + name + ", one for me."
  } else {
    return "One for you, one for me."
  }
}

注:上述if(name)的判断逻辑会自动过滤undefined、空字符串、null等无效值,符合题目的输入场景要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 11:15:08