Question mark and colon in JavaScript

conditional-operator, javascript, operators, syntax

Solution

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;

Problem

I came across the following line ``` hsb.s = max != 0 ? 255 * delta / max : 0; ``` What do the `?` and `:` mean in this context?

Original source

Related problems