使用javascript比较运算符和变量

时间:2014-12-12 21:19:33

标签: javascript logical-operators

我试图理解一个开发人员的代码,他们喜欢使用条件运算符来存储变量。这是一个非常简洁的方式,但我不确定? and :在下面的场景中意味着什么。

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

这也是一种将变量存储在if语句中的充分方法吗?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

... ? ... : ...ternary operator。它存在于a lot of languages中。就像这样使用:

variable = test ? assignIfTrue : assignIfFalse;

在您的情况下,如果thisUserName为空,getCurrentUserName()将被分配empId,如果不为empId.ToUpperCase(),则会{{1}}。