【问题标题】:IF ELSE using ternary operator [duplicate]IF ELSE 使用三元运算符 [重复]
【发布时间】:2021-03-31 05:32:44
【问题描述】:

我使用三元运算符作为我的 if else 条件。但是,我在使用它时遇到了未定义的错误。下面是我的示例代码。

let a = 'apple'

let res = b ? b : a
console.log(res)

据我所知,它将检查变量 b 是否具有值,并且由于未定义它应该转到 else 并显示单词 apple?

但是使用上面的代码给出了 b is not defined 错误。

【问题讨论】:

  • 嗨,玛丽,我相信这个答案也可能会有所帮助:stackoverflow.com/questions/48659442/… 基本上,我知道三元运算符需要三个参数。第一个(1st)是条件,如果条件为真,则执行第二个(2nd),如果条件为假,则执行第三个(3rd)。在这里,您没有设置任何条件。
  • 好的,谢谢。我如何支持你的答案?
  • 我现在很清楚了。我希望它只是未定义,但不仅仅是未声明。

标签: javascript if-statement conditional-statements conditional-operator


【解决方案1】:

您至少必须定义变量b 才能这样使用它。

这样简单的事情就可以解决您的问题:

    let a = 'apple'
    let b
    let res = b ? b : a
    console.log(res)

或者你也可以这样做来检查变量是否为undefined

        let a = 'apple'
      
        let res = typeof(b) !== 'undefined' ? b : a
        console.log(res)

我不知道您的完整用例以提供更好的上下文。

【讨论】:

  • 谢谢,我认为这是我希望它未定义但一开始就未声明的情况。
猜你喜欢
  • 2015-06-05
  • 2010-12-12
  • 2021-01-03
  • 1970-01-01
  • 1970-01-01
  • 2019-11-30
  • 2012-07-23
  • 2022-01-17
相关资源
最近更新 更多