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

如何在JavaScript函数缺少必填参数时终止执行并抛出错误

JavaScript函数必填参数校验实现方案

你可以通过主动抛出错误的方式实现需求,JavaScript中未被捕获的Error会直接终止程序执行,同时输出对应的错误提示信息,以下是两种常用实现方式:

方式1:手动循环校验(兼容性好)

这种写法兼容低版本JS运行环境,也方便扩展自定义校验规则:

func({
  system: "test1",
  type: "test2",
  summary: "test3",
  description: "test4",
});

function func (c) {
  // 先校验参数对象是否传入
  if (!c) {
    throw new Error('func函数缺少必填的配置参数对象')
  }
  // 定义所有必填字段列表
  const requiredFields = ['system', 'type', 'summary', 'description']
  // 遍历校验每个字段
  for (const field of requiredFields) {
    // 用hasOwnProperty避免原型链属性干扰,判断undefined避免把空字符串、0等合法假值判定为缺失
    if (!c.hasOwnProperty(field) || c[field] === undefined) {
      throw new Error(`func函数缺少必填参数:${field}`)
    }
  }

  // 后续业务逻辑
  console.log(c);
  console.log(c.system);
  console.log(c.type);
  console.log(c.summary);
  console.log(c.description);
};

方式2:ES6解构+默认值实现(代码更简洁)

利用ES6参数默认值的特性,定义通用的必填参数报错工具函数,写法更精简:

// 通用必填参数报错工具
const required = (paramName) => {
  throw new Error(`func函数缺少必填参数:${paramName}`)
}

// 解构参数时直接绑定默认值为报错函数,缺参时自动触发
function func ({
  system = required('system'),
  type = required('type'),
  summary = required('summary'),
  description = required('description')
} = {}) {
  // 后续业务逻辑
  console.log(system, type, summary, description);
};

两种方式在参数缺失时都会直接抛出错误终止程序执行,控制台会清晰展示缺失的参数名称,完全替代原来赋值默认值的逻辑。如果需要不终止全局程序,也可以在外层调用时用try...catch捕获错误做自定义处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 17:18:00