"?"的目的是什么?在Javascript?

rjs*_*n18 1 javascript

问号在以下代码段中的作用是什么:

Template.lists.selected = function () {
    return Session.equals('list_id', this._id) ? 'selected' : '';
};
Run Code Online (Sandbox Code Playgroud)

Emm*_*myS 6

它被称为多种语言的三元运算符.这是完整if-then语句的捷径.

而不是写这个:

Template.lists.selected = function () {
   if(Session.equals('list_id', this._id)) {
      return 'selected';
   }
   else {
      return '';
   }
};
Run Code Online (Sandbox Code Playgroud)

你做这个:

Template.lists.selected = function () {
   return Session.equals('list_id', this._id) ? 'selected' : '';
};
Run Code Online (Sandbox Code Playgroud)

if立即返回是问号; 该else回报是冒号后面.