Question :
Citing an example:
if(this.gap > 1 || !this.sorted)
{
this.sorted = true;
this.gap = parseInt(this.gap / 1.3) == 0 ? 1 : parseInt(this.gap / 1.3);
setTimeout(this.name + '.comb_sort_acending_order(0);', this.speed);
}
This question mark ( ?
) means what?
Answer :
It is a conditional operator .
Conditional operator
The conditional operator is the only JavaScript operator that uses three
operands. The operator can have one of two values based on a
condition. The syntax is:
condicao ? valor1 : valor2
If condition is true, the operator will have value1. Case
otherwise, it will have the value of value2. You can use the
conditional anywhere you would use a standard operator. For example:
var status = (idade >= 18) ? "adulto" : "menor";
In case of your example, if parseInt(this.gap / 1.3) == 0
then this.gap
will be 1, otherwise parseInt(this.gap / 1.3)
.