![]() |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This is a very condensed way of writing an if/else
statement and
return a value depending on how the test turned out. This isn't a
statement naturally, it's an expression since it returns a value, but it
was hard to explain earlier before explaining the if/else statement.
Suppose you want to write the following:
if (test_expression) var = if_expression; else var = else_expression; |
You can write that much more condensed in this way:
var = test_expression ? if_expression : else_expression; e.g. name = day == 2 ? "tuesday" : "another day"; |
It can be debated if writing code this way makes you code easier or harder to read. As a rule it can be argued rather successfully that one expression of that kind does make it clearer, but that a combination of several only makes it worse. Something like this definitely isn't an improvement:
name = day == 2 ? time == 18 ? "miller time" : "tuesday" : "another day"; |