在 JavaScript 中使用带有对象的逻辑操作数
Using logical operands in javascript with objects
我遇到了对对象的逻辑操作数&&
的使用,但是想知道表达式是否仅在处理对象时以以下方式计算。
代码示例
var sampleObject = {
size: 10,
shoe: {
make: "nike",
model: "air jordon"
},
color: "red"
}
console.log(sampleObject.size && sampleObject.shoe.model);
出console.log(sampleObject.size && sampleObject.shoe.model);
返回air jordon
.我的理解是,因为第一个条件,即 sampleObject.size
计算结果为 true,并且不falsely
它返回对象中包含的值 sampleObbject.shoe.model
。
||
和 &&
运算符从左到右运行。在 ||
的情况下,返回第一个真值。对于&&
,这是第一个虚假值。在这两种情况下,如果未找到合适的返回值,则返回最后一个返回值。
因此,在这种情况下,它为表达式返回真值的事实意味着sampleObject.size
和sampleObject.show.model
都是真值。
Javascript &&
运算符首先计算其左操作数。 如果它是假值,则它是整个表达式的值。 如果它是真值,则计算正确的操作数,并返回该操作数。
零、空字符串、未定义和 false 都是假值。 您的 sampleObject.size 值为 10,这是一个真实值,因此将计算正确的操作数并将其用作整个表达式的值。
请注意,这些都不依赖于作为对象的值。
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- 比较从函数和生成的日期对象
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何使用json将对象列表从java转换为javascript
- 序列化数据属性中对象的最可靠方法
- 如何访问声音管理器2创建的声音对象
- FabricJs-限制主对象内添加对象的移动区域
- 翻转操作数时,添加带有空对象的空数组会产生不同的结果
- 在 JavaScript 中使用带有对象的逻辑操作数
- 操作数组和对象
- 不知道为什么if条件不检测操作数是否为对象