42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
title: Conditional Ternary Operators
 | 
						|
---
 | 
						|
## Conditional Ternary Operators
 | 
						|
### Basic usage
 | 
						|
The ternary operator is a compact way to write an if-else inside an expression.
 | 
						|
```js
 | 
						|
const thing = <condition> ? <if condition is true> : <if condition is false>;
 | 
						|
```
 | 
						|
E.g.
 | 
						|
```js
 | 
						|
const cappedInput = input > 50 ? 50 : input // this will cap the input at 50
 | 
						|
```
 | 
						|
### Else if
 | 
						|
You can also chain ternary operators, this way you will have an if-else if-else behaviour
 | 
						|
```js
 | 
						|
<first condition> ? <value if first true>
 | 
						|
: <second condition> ? <value if second is true>
 | 
						|
: <fallback value>
 | 
						|
```
 | 
						|
### Comparison to if statement:
 | 
						|
The ternary operator is essentially a simplification of the normal `if` statement. You turn this:
 | 
						|
```js
 | 
						|
if (condition) {
 | 
						|
    <if condition is true>;
 | 
						|
} else {
 | 
						|
    <if condition is false>;
 | 
						|
}
 | 
						|
```
 | 
						|
Into this:
 | 
						|
```js
 | 
						|
var output = <condition> ? <if condition is true> : <if condition is false>;
 | 
						|
```
 | 
						|
As you can see, it is much easier to write and read.
 | 
						|
> **Pro tip**: As you see you can split the ternary operator on multiple lines
 | 
						|
E.g.
 | 
						|
```
 | 
						|
const wealth = housesOwned > 3 ? "rich" 
 | 
						|
             : housesOwned > 1 ? "nothing to complain"
 | 
						|
             : "poor"
 | 
						|
```
 |