对变量使用javascript比较运算符

对变量使用javascript比较运算符,javascript,logical-operators,Javascript,Logical Operators,我试图理解一位喜欢使用条件运算符存储变量的开发人员的代码。这是一个非常简洁的方法,但我不确定是什么?和:表示在下面的场景中 var empId = getCurrentUserId(); //getCurrentUserId function returns an id. var thisUserName = (empId == '' ? getCurrentUserName() : empId.toUpperCase()); //getCurrentUserName returns a us

我试图理解一位喜欢使用条件运算符存储变量的开发人员的代码。这是一个非常简洁的方法,但我不确定是什么
?和:
表示在下面的场景中

var empId = getCurrentUserId(); //getCurrentUserId function returns an id. 
var thisUserName = (empId == '' ? getCurrentUserName() : empId.toUpperCase()); //getCurrentUserName returns a user name.

这是否是存储与if语句相反的变量的足够方法?任何帮助都将不胜感激

是一个。它存在于。它是这样使用的:

variable = test ? assignIfTrue : assignIfFalse;

在您的情况下,如果
empId
为空,
thisUserName
将分配
getCurrentUserName()
,如果不为空,则分配
empId.ToUpperCase()

非常感谢您的快速回复!这很有道理。我们是否可以添加多个条件,如-
(条件)?assignIfTrue:assignIfFalse是<代码>(x==y&(z!=t | | z==v))?正确:错误
是正确的。注意把Parethes放进去,因为三元运算符通常比其他运算符优先级低。明白了!这非常有用。id是数字吗?如果为真,为什么要写大写?@Alessandromarchio为什么empId必须是数字?它是大写的,因为字符并不总是一致的。empId是数字的,我们就是这样滚动的!