我试图找到一种做法的名称(以任何语言),在该做法中,在对对象执行查找之前先检查对象是否存在。通常,这是通过在对象和对象查找表达式之间插入&&来完成的,就像在JS中那样:

var example = objectName && objectName.thing;


这样,将example评估为undefinedobjectName.thing,并避免了运行时错误。

我本可以发誓我以前听过,但是我完全忘记了。这种做法叫什么?

最佳答案

有时将其称为“防护”,因为左操作数的真实性可防止访问右操作数。当然,这只是一个逻辑“与”,但是在这种特定情况下使用“与”有时会被称为“警卫”。

来自道格拉斯·克罗克福德(Douglas Crockford)的A Survey of the JavaScript Programming Language


  &&运算符通常称为逻辑与。也可以称为守卫。


肖恩·麦克阿瑟(Sean McArthur)的Guard and Default Operators of JavaScript


  在Java语言中,语言确定逻辑运算和值的方式是Java视为真或假,这导致人们使用AND和OR运算符处理警戒和默认情况

10-07 15:55