Inaimathi Inaimathi - 6 months ago 31
Javascript Question

Question Mark in JavaScript

I came across the following line

hsb.s = max != 0 ? 255 * delta / max : 0;


What do the
?
and
:
mean in this context?

Answer

It is called the Conditional Operator (which is a ternary operator).

It has the form of: condition ? value-if-true : value-if-false
Think of the ? as "then" and : as "else".

Your code is equivalent to

if (max != 0)
  hsb.s = 255 * delta / max;
else
  hsb.s = 0;