如果未定义,则将默认值设置为返回



在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();(

最新更新