【问题标题】:Why am I getting an 'unexpected return' error after a conditional? [duplicate]为什么在条件条件后出现“意外返回”错误? [复制]
【发布时间】:2018-12-18 09:31:15
【问题描述】:
const result = 2

function dothis() {
    const number = 5

    if (number < 0) {
      result == 0 ? console.log('error')
      return false
    }
}

为什么这段代码会出现“意外返回”错误?

【问题讨论】:

标签: javascript eslint


【解决方案1】:

当使用三元条件时,您需要使用语法condition?statement:statement。因此,您缺少第三部分,statement,因此名称暗示ternary(三个部分)。

var results = [];
function dothis() {
    const number = -1;
    if (number < 0) {
      results.length == 0 ? console.log('error'): console.log('no error');
      return false
    }
}
dothis();

【讨论】:

  • 那么,我不能在没有“else”语句的情况下使用三元组吗?这就是我想要的。
  • @DavidWaters 看起来像你在 if 语句之后,if (!results.length) console.log('error')
  • 我试图这样做:if (results.length) { console.log('error') } return false
  • 我想我可以使用三元'?'与 'if' 一样,不必有 ':else' 部分
【解决方案2】:

我发现你的条件 if else 速记没有完成,Else 部分在那里丢失。

function dothis() {
    const number = 5

    if (number > 0) {
      results.length == 0 ? console.log('error') : console.log ('success')
      return false
    }
}

这将完成您的条件。如果你想做其他事情,请告诉我。

【讨论】:

    【解决方案3】:

    你错过了

    results.length == 0 ? console.log('error') : console.log('success')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-18
      • 2018-10-06
      • 2020-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 2017-12-10
      相关资源
      最近更新 更多