是否可以在JS中使用set默认语法为函数不返回任何内容。也就是说,如果该值未定义,则退出函数。
就像这样:
const x = section.x || return我怀疑这个想法并不是为了设定一个价值。如果是这样,是否有任何清洁,简洁的一个班轮替代方案来实现这一点。
发布于 2020-03-16 07:37:21
不优雅。return是一种语句;它必须独立存在,而不是连接到以前的任何表达式。|| return无效的原因与|| if (condition) {无效的原因相同。您需要将return放在自己的行上:
const { x } = section;
if (!x) return;另一种选择(强烈建议,但仅限于FYI)将是抛入一个生命并捕获调用者:
const fn = () => {
const section = {};
const x = section.x || (() => { throw new Error(); })();
};
try {
fn();
} catch(e) {
}
console.log('fn done');
(如果/一旦抛出表达式成为一件事,可以简化一下上面的内容:section.x || throw new Error();)
https://stackoverflow.com/questions/60701907
复制相似问题