Concept Flow - Nil coalescing operator (??)
Optional value
→Is it nil?
Yes
Use default value
The nil coalescing operator checks if an optional has a value; if yes, it uses that value, otherwise it uses a default.
let name: String? = nil let displayName = name ?? "Guest" print(displayName)
| Step | Variable | Value | Condition | Action | Output |
|---|---|---|---|---|---|
| 1 | name | nil | name == nil | Use default "Guest" | "Guest" |
| 2 | displayName | "Guest" | - | Assign displayName = "Guest" | - |
| 3 | - | - | - | Print displayName | Guest |
| Variable | Start | After Step 1 | After Step 2 | Final |
|---|---|---|---|---|
| name | nil | nil | nil | nil |
| displayName | undefined | undefined | "Guest" | "Guest" |
Syntax: optionalValue ?? defaultValue Behavior: Returns optionalValue if not nil; otherwise returns defaultValue. Use to provide fallback values for optionals. Example: let x = name ?? "Guest" Simple and safe way to handle nil optionals.