【发布时间】:2013-05-22 21:31:37
【问题描述】:
使用 JavaScript 或 CoffeeScript,是否有一种简单的方法来测试以下内容:
if (locals.messages.text === "somestring") { ... }
现在这需要满足三个条件:locals 需要存在,locals.messages 需要存在并且它需要等于 "somestring"。
如果locals.messages 不存在,则抛出TypeEror cannot read text of undefined
我知道我可以做到:
if (!!locals && !!locals.messages && locals.messages.text == "somestring) {...}
但是太长了,有没有办法:
-
locals.messages.text存在的文本 - 检查值是否等于某个值?
使用javascript或coffeescript工作
【问题讨论】:
-
你可以用 try/catch 做到这一点
-
对我来说,“测试是否存在”意味着
locals无法解析(ReferenceError)。这是询问当中间节点可能评估为未定义时如何深度查询对象图路径。 (仅 JavaScript 的解决方案几乎没有那么漂亮。)
标签: javascript if-statement coffeescript operators