这段代码是什么意思? [重复]

问题描述 投票:0回答:3

可能重复:
Javascript 简写 - '||' 的作用是什么运算符平均值在作业中使用时?

var variable = obj1 || obj2;

是这个意思吗?

var variable;

if (obj1)
{
    variable = obj1;
}
else if (obj2)
{
    variable = obj2:
}

这被认为是不好的做法吗?

javascript operators
3个回答
5
投票

如果解析为真值,则

||
运算符 返回其左侧,否则返回其右侧。

所以它的意思是一样的:

var variable;
if (obj1){
    variable = obj1;
} else {
    variable = obj2:
}

注意elsenotelse if

这是一种常见的模式,通常不被认为是不好的做法。

问题是您需要确定您想要

if (obj)
而不是
if (typeof obj !== "undefined")


0
投票

是的,就是这个意思,而且这是很好的做法

||
是一个逻辑或,所以如果
obj1 = false
你得到
false OR obj2
所以变量等于 obj2


0
投票

如何||表达作品

表达式

a || b
值由最后评估的部分确定,以确定布尔真值。

评估

false || 1
,因为
1
是最后评估的。

true || 0
被评估为
true
,因为它是最后一个评估的。

如何在布尔上下文中计算 obj

对于布尔值上下文中的对象,对象被评估为

true
除非 null。这意味着甚至
{} === true

结合以上两个解释,

var variable = obj1 || obj2
obj1
obj2
中的第一个非空对象分配给
variable

© www.soinside.com 2019 - 2024. All rights reserved.