我正在试图找到实践的名称(在任何语言中),在此实践中,在对对象执行查找之前,要检查对象是否存在。通常,这是通过在对象和对象查找表达式之间添加一个&&来完成的,就像JS中的那样:
var example = objectName && objectName.thing;这样,就可以将example计算为undefined或objectName.thing,并避免运行时错误。
我可以发誓我以前听过,但我完全忘记了。这种做法叫什么?
发布于 2017-04-13 17:58:27
这有时被称为“守卫”,因为左操作数的真实性保护了对右操作数的访问。当然,这是合乎逻辑的,但在这种特定的上下文中,使用和使用有时被称为“守卫”。
来自道格拉斯·克罗克福德的JavaScript编程语言综述
&&运算符通常称为逻辑和。它也可以被称为警卫。
来自JavaScript的保护和默认运算符的肖恩McArthur:
在Javascript中,语言确定逻辑操作的方式,Javascript将值视为true或false导致使用and和or运算符来保护和默认情况。
发布于 2017-04-13 18:01:38
这种做法有时被称为验证或评估。您可以使用三元运算符来完成此操作。
var example = objectName ? objectName.thing : null
这将根据objectName.thing objectExample将或null分配给example。
https://stackoverflow.com/questions/43398734
复制相似问题