首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这种做法叫什么?` `objectName && objectName.thing`

这种做法叫什么?` `objectName && objectName.thing`
EN

Stack Overflow用户
提问于 2017-04-13 17:51:48
回答 2查看 44关注 0票数 0

我正在试图找到实践的名称(在任何语言中),在此实践中,在对对象执行查找之前,要检查对象是否存在。通常,这是通过在对象和对象查找表达式之间添加一个&&来完成的,就像JS中的那样:

代码语言:javascript
复制
var example = objectName && objectName.thing;

这样,就可以将example计算为undefinedobjectName.thing,并避免运行时错误。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-13 17:58:27

这有时被称为“守卫”,因为左操作数的真实性保护了对右操作数的访问。当然,这是合乎逻辑的,但在这种特定的上下文中,使用和使用有时被称为“守卫”。

来自道格拉斯·克罗克福德的JavaScript编程语言综述

&&运算符通常称为逻辑和。它也可以被称为警卫。

来自JavaScript的保护和默认运算符的肖恩McArthur:

在Javascript中,语言确定逻辑操作的方式,Javascript将值视为true或false导致使用and和or运算符来保护和默认情况。

票数 1
EN

Stack Overflow用户

发布于 2017-04-13 18:01:38

这种做法有时被称为验证或评估。您可以使用三元运算符来完成此操作。

var example = objectName ? objectName.thing : null

这将根据objectName.thing objectExample将null分配给example

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43398734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档