您可以有条件地运行部分if语句吗?

时间:2019-04-11 20:38:04

标签: javascript if-statement

假设我有这个if语句:

if (
  username === firstname &&
  password !== fakePassword &&
  givenname === lastname

) {
  console.log(`Hi ${firstname}`)
}

现在,如果长度超过3个字符,我想使用该名称:

const givennameRequired = givenname.length > 3;

我是否可以通过以下方式更改if语句:“如果givennameRequired变量为true,则可以担心这一部分”

通过这种方式,控制台根据givennameRequired的有效性记录两个或三个参数。显然,我试图避免使用if / else并拥有两个控制台日志

以一种粗略的“ sudo代码”方式(我知道这是无效的):

if (
  username === firstname &&
  password !== fakePassword &&
  (
    if (givennameRequired) {
      givenname === lastname
    } else {
      return true;
    }
  )
) {
  console.log(`Hi ${firstname}`)
}

基本上,如果长度大于三,则求值givenname === lastname,否则返回true,不用担心。

3 个答案:

答案 0 :(得分:4)

这可能会做您想要的:

if (
  username === firstname &&
  password !== fakePassword &&
  (givenname.length <= 3 || givenname === lastname)

) {
  console.log(`Hi ${firstname}`)
}

if条件仅会困扰检查givenname === lastname是否为givenname.length > 3

答案 1 :(得分:0)

这可以通过if语句轻松实现

success_url

答案 2 :(得分:-1)

尝试与您的语法保持一致。这样的事情应该起作用。为了您自己的理智,我考虑嵌套if语句,以便您可以向用户提供更准确的反馈。

hcoord