diff --git a/doc/17-language-reference.md b/doc/17-language-reference.md
index ddf048614..5145e9486 100644
--- a/doc/17-language-reference.md
+++ b/doc/17-language-reference.md
@@ -208,6 +208,7 @@ Operator | Precedence | Examples (Result) | Descript
`&&` | 13 | true && false (false), 3 && 7 (7), 0 && 7 (0) | Logical AND
`=` | 14 | a = 3 | Assignment
`=>` | 15 | x => x * x (function with arg x) | Lambda, for loop
+`?` | 16 | (2 * 3 > 5) ? 1 : 0 (1) | [Ternary operator](17-language-reference.md#conditional-statements-ternary)
### References
@@ -977,6 +978,8 @@ function MakeHelloFunction(name) {
## Conditional Statements
+### Conditional Statements: if/else
+
Sometimes it can be desirable to only evaluate statements when certain conditions are met. The if/else
construct can be used to accomplish this.
@@ -1011,6 +1014,56 @@ This example prints the log message "Taking the 'true' branch" and the `a` varia
The value of an if/else construct is null if the condition evaluates to false and no else branch is given.
+### Conditional Statements: Ternary Operator
+
+Instead of if/else condition chains, you can also use the ternary operator `?`
+with assignments. Values are separated with a colon `:` character.
+
+```
+cond ? cond_val_true : cond_val_false
+```
+
+Whether the first condition matches, the first value is returned, if not, the else and second
+branch value is returned.
+
+The following example evaluates a condition and either assigns `1` or `0`
+to the local variable.
+
+```
+<1> => var x = (2 * 3 > 5) ? 1 : 0
+null
+<2> => x
+1.000000
+<3> => var x = (2 * 3 > 7) ? 1 : 0
+null
+<4> => x
+0.000000
+```
+
+Additional examples with advanced condition chaining:
+
+```
+<1> => 1 ? 2 : 3 ? 4 : 5 ? 6 : 7
+2.000000
+<2> => 0 ? 2 : 3 ? 4 : 5 ? 6 : 7
+4.000000
+<3> => 0 ? 2 : 0 ? 4 : 5 ? 6 : 7
+6.000000
+<4> => 0 ? 2 : 0 ? 4 : 0 ? 6 : 7
+7.000000
+<5> => 1 + 0 ? 2 : 3 + 4
+2.000000
+<6> => 0 + 0 ? 2 : 3 + 4
+7.000000
+<7> => (()=>{ return 1 ? 2 : 3 })()
+2.000000
+<8> => var x = 1 ? 2 : 3
+null
+<9> => x
+2.000000
+```
+
+
## While Loops
The `while` statement checks a condition and executes the loop body when the condition evaluates to `true`.