js在表达式中使用当即执行函数来确保必填参数

有时我们在一段代码中需要定义一个变量是某个值的引用,同时需要确保这个值是存在的。
比如在express的某个接口里,我们有一些参数要求是用户必须传入的,这时候如果不进行验证执行继续运行的话,就会出现各种问题。因此校验参数是必须的。

原代码

使用if判断,容易导致代码里出现大量的if判断,不优雅

try	{
	// sid 是必填参数。
	let sid = req.body.sid;
	if(!sid) {
		throw Error('缺少必填参数')
	}
	// do someting
}catch (err) {
    // do err
}

改良代码(简洁优雅)

使用当即执行函数,代码量虽然没有明显减少,但是一行完成,看起来舒服多了

try	{
	// sid 是必填参数。
	let sid = req.body.sid || (() => { throw Error('缺少必填参数') })();
	// do someting
}catch (err) {
    // do err
}

同时需要验证多个必填参数

let sid = req.body.sid;
let uid = req.body.uid;
let name = req.body.name;
(sid && uid && name) || (() => { throw Error('缺少必填参数') })()

总结

表达式里一般是不允许执行代码的,这时候我们可以就可以通过当即执行函数达到我们的目的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值