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

如何实现带JavaScript默认参数的introductionWithLanguageOptional函数

实现目标

编写JavaScript函数introductionWithLanguageOptional(name, language),满足以下测试用例要求:

describe('introductionWithLanguageOptional(name, language)', function() {
  it('takes in two arguments, a name and a language, and language defaults to JavaScript', function() {
    expect(introductionWithLanguageOptional("Susie")).toEqual("Hi, my name is Susie and I am learning to program in JavaScript.");
  })
})

核心规则:

  • 函数接收两个入参:姓名name、编程语言language
  • language参数默认值为JavaScript
  • 仅传入name值为"Susie"时,需返回指定格式的编程学习介绍语句
正确实现方式

推荐写法(ES6+ 标准默认参数语法)

直接在形参位置定义默认值,写法简洁可读性强,是目前主流开发环境的通用写法:

function introductionWithLanguageOptional(name, language = "JavaScript") {
  return `Hi, my name is ${name} and I am learning to program in ${language}.`;
}

兼容旧环境写法

如果需要兼容不支持ES6默认参数的老旧运行环境,可以在函数内部手动判断参数是否传入,再赋值默认值:

function introductionWithLanguageOptional(name, language) {
  if (typeof language === 'undefined') {
    language = "JavaScript";
  }
  return "Hi, my name is " + name + " and I am learning to program in " + language + ".";
}
效果验证

调用introductionWithLanguageOptional("Susie")时,因为没有传入第二个参数,language会自动取默认值JavaScript,最终返回值和测试用例要求的字符串完全一致,可以通过测试。
如果传入第二个参数,比如introductionWithLanguageOptional("Bob", "Python"),则会返回Hi, my name is Bob and I am learning to program in Python.,符合参数设计预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 11:01:22