JavaScript:检查变量是否存在没有经典if()

时间:2013-07-31 06:03:12

标签: javascript variables if-statement

我有以下情况。

在我的脚本中,我已经将所有公布在网页上的字符串提取到这样的对象中。

var strings = {
    one: "One",
    two: "Two",
    three: "Three",
}

请不要问我为什么要这样做,这只是一个测试用例。

现在我想将其中一个字符串推送到alert()中。这看起来像这样:

alert(strings.one);

到目前为止一直很好,但我想检查字符串或strings.one是否存在以及何时不返回空字符串。

在不使用经典if(strings.one == undefined)

的情况下,有什么方法可以做到这一点

修改

我根据你的回答和评论找到了解决方案。

alert((window.strings) ? strings.one || "nope" : "nope");

这可以捕获我想要阻止的所有情况:

  1. 我忘了宣布strings
  2. strings.one不存在
  3. 我希望这适合“光滑的方式”?!

2 个答案:

答案 0 :(得分:4)

您可以使用||,如果它是真实的,则返回第一个操作数,否则返回第二个操作数:

alert(strings.one || "");

这也会捕捉到其他虚假的价值观,但这对您来说可能不是一个问题。

答案 1 :(得分:0)

您可以使用三元运算符,或者如果需要,可以执行此操作,如果string.one不存在,则可以使用空字符串。

alert(string.one || '');