在JS中,是否可以使用设置的默认语法为函数不返回任何内容。即,如果值未定义,则退出函数。
类似这样的东西:
const x = section.x || return
我怀疑这个想法并不是为了设定一个价值。如果是这样的话,有没有干净、简洁的一行式替代方案可以实现这一点。
不优雅。return
是一个语句;它必须存在独立,不连接到任何以前的表达式。|| return
无效的原因与|| if (condition) {
无效的原因相同。您需要将return
放在自己的线路上:
const { x } = section;
if (!x) return;
另一种选择(强烈不推荐,但仅供参考(是在IIFE内部抛出并捕获调用者:
const fn = () => {
const section = {};
const x = section.x || (() => { throw new Error(); })();
};
try {
fn();
} catch(e) {
}
console.log('fn done');
(如果/一旦抛出表达式成为一件事,则可以将上述简化为位:section.x || throw new Error();
(