求JavaScript条件分支函数执行简写:真时执行一函数假时执行另一函数
JavaScript条件执行双函数的简写语法
嘿,刚好对这个写法熟得很,给你分享几种实用的JavaScript简写方式,完美满足你“条件为真执行A函数,为假执行B函数”的需求:
1. 最通用的三元运算符写法
这是最直观且无坑的简写方式,和传统的if-else逻辑完全等价,一行就能搞定:
// 先定义两个要执行的函数 const onConditionTrue = () => console.log("条件成立,执行真分支函数"); const onConditionFalse = () => console.log("条件不成立,执行假分支函数"); // 核心简写逻辑 const condition = true; // 这里替换成你的实际判断条件 condition ? onConditionTrue() : onConditionFalse();
如果函数需要传递参数,直接在调用时传入即可:
const greet = (username) => console.log(`欢迎,${username}!`); const denyAccess = (username) => console.log(`抱歉,${username},你没有权限`); const isAuthenticated = false; const currentUser = "小李"; isAuthenticated ? greet(currentUser) : denyAccess(currentUser);
2. 短路求值写法(适合简单场景)
利用JavaScript的逻辑与(&&)和逻辑或(||)的短路特性,也能实现类似效果:
// 条件为真时执行onConditionTrue,否则执行onConditionFalse condition && onConditionTrue() || onConditionFalse();
⚠️ 注意:这个写法有个小坑——如果onConditionTrue函数的返回值是假值(比如false、0、''、null、undefined),那么onConditionFalse也会被执行。所以如果你的真分支函数没有返回值,或者返回的是真值,这个方法才适用,否则还是优先用三元运算符更稳妥。
3. 封装成复用函数(适合多次使用的场景)
如果这个条件执行逻辑需要在代码里多次用到,可以把它封装成一个通用函数,以后直接调用就行:
// 封装通用函数 const runConditional = (condition, trueFn, falseFn) => { condition ? trueFn() : falseFn(); }; // 使用示例 const checkPermission = true; runConditional( checkPermission, () => console.log("权限通过,执行操作"), () => console.log("权限不足,拒绝操作") );
这种写法让代码更整洁,也方便后续统一修改逻辑。
内容的提问来源于stack exchange,提问作者Team Phoenix
相关产品推荐
相关产品推荐

