JavaScript中如何优雅地在函数中拒绝空或null输入值?
简洁的参数校验实现方案
针对你的需求,这里有几种比嵌套判断更简洁的实现方式,既清晰又易于维护:
1. 数组遍历校验(推荐)
把需要校验的参数放进数组,用some()方法快速判断是否存在无效值:
class Fun { pem_Files_Checker_And_Adder_Server_Id_Adder(id, serverType, hostname) { // 检查是否有参数为 null 或空字符串 if ([id, serverType, hostname].some(param => param === null || param === '')) { throw new Error('please add value'); } // 后续业务逻辑 // do something }; }
这种方式的优势是:
- 代码紧凑,一眼就能看清楚校验逻辑
- 后续新增需要校验的参数时,直接往数组里追加即可,无需修改判断条件
2. Rest 参数适配多场景
如果方法参数较多,用 Rest 参数可以进一步简化代码,不用逐个列举参数:
class Fun { pem_Files_Checker_And_Adder_Server_Id_Adder(...args) { if (args.some(param => param === null || param === '')) { throw new Error('please add value'); } // 解构获取原参数 const [id, serverType, hostname] = args; // 后续业务逻辑 // do something }; }
3. 精确扩展判断(可选)
如果需要同时校验undefined(比如调用时未传参),可以把判断条件改为:
param == null || param === ''
== null会同时匹配null和undefined,适合需要严格确保参数有有效值的场景。
内容的提问来源于stack exchange,提问作者Sanithu Jayakody
相关产品推荐
相关产品推荐

