首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果未定义,则将默认值设置为返回

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

Stack Overflow用户
提问于 2020-03-16 07:32:42
回答 1查看 57关注 0票数 1

是否可以在JS中使用set默认语法为函数不返回任何内容。也就是说,如果该值未定义,则退出函数。

就像这样:

代码语言:javascript
复制
const x = section.x || return

我怀疑这个想法并不是为了设定一个价值。如果是这样,是否有任何清洁,简洁的一个班轮替代方案来实现这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-16 07:37:21

不优雅。return是一种语句;它必须独立存在,而不是连接到以前的任何表达式。|| return无效的原因与|| if (condition) {无效的原因相同。您需要将return放在自己的行上:

代码语言:javascript
复制
const { x } = section;
if (!x) return;

另一种选择(强烈建议,但仅限于FYI)将是抛入一个生命并捕获调用者:

代码语言:javascript
复制
const fn = () => {
  const section = {};
  const x = section.x || (() => { throw new Error(); })();
};

try {
  fn();
} catch(e) {
}
console.log('fn done');

(如果/一旦抛出表达式成为一件事,可以简化一下上面的内容:section.x || throw new Error();)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60701907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档