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

标签 javascript terminology

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

var example = objectName && objectName.thing;

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

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

最佳答案

这有时被称为“守卫”,因为左操作数的真实性守卫对右操作数的访问。当然,这只是一个逻辑 AND,但在此特定上下文中使用 AND 有时被称为“防护”。

来自 Douglas Crockford 的 A Survey of the JavaScript Programming Language :

The && operator is commonly called logical and. It can also be called guard.

来自Guard and Default Operators of JavaScript作者:肖恩·麦克阿瑟:

In Javascript, the way the languages determines logical operations and the values Javascript treats as true or false lead to people using the AND and OR operators for guard and default situations

关于javascript - 这种做法叫什么? `objectName && objectName.thing`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43398734/

相关文章:

jakarta-ee - 2层架构到底是什么?

database - 我知道我知道这个数据库术语,我就是一辈子都记不住

multithreading - 什么是竞争条件?

c - 什么是位掩码?

javascript - "Existing subscription to channel"而只订阅一次

javascript - NodeJSencodeURI 为 ß 生成错误的结果

javascript - 无法弄清楚我在 JavaScript 中的 if 语句有什么问题 [9 月 1 日更新 看来我的 for 循环运行了两次,我该如何解决?]

javascript - 强制布局 - 标记并固定节点

terminology - 只包含 mixins 的类的名称是什么?

javascript - 使用自动完成文本框从 mysql 数据库获取表记录并显示在文本字段中