2015-04-20 2 views
0

Я работаю на BIRT отчета и один из полей содержит следующее выражение:Что означает это выражение JavaScript в отчете BIRT?

dataSetRow["user_id"] != dataSetRow["creatorId"] ? dataSetRow["orderCreator"] : '' 

Какова логика этого заявления?

+1

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator для справки на тройном операторе – scrappedcola

+0

выражения называется тройной operator..short формой, если еще где выражение оценивается по принципу tru e или false – Lucky

ответ

2

Это утверждение является эквивалентом кода ниже, и называется «тройным» оператором:

var value; 

if(dataSetRow["creatorId"]){ 
    value = dataSetRow["orderCreator"]; 
} 
else{ 
    value = ''; 
} 

//To be clear, this isn't assigning to anything - this is the same expression you have in your question. 
dataSetRow["user_id"] != value 

Вы можете использовать это выражение, которое возвращает логическое значение, в if блоке, например:

if(dataSetRow["user_id"] != value){ 
    //Do something 
}