Optional is a container object which may or may not contain a non-null value. If a value is present,
isPresent() will return
get() will return the value.
Additional methods that depend on the presence of the contained value are provided, such as
orElse(), which returns a default value if value not present, and
ifPresent() which executes a block of code if the value is present.
“ An optional value either contains a value or contains nil to indicate that a value is missing”
Excerpt From: Apple Inc. “The Swift Programming Language (Swift 3.1 Edition).” iBooks. https://itun.es/us/k5SW7.l
Basic optional use cases include: for a constant (let), use of an optional within a loop (if-let), safely unwrapping an optional value within a method (guard-let), and as part of switch loops (case-let), defaulting to a value if nil, using the coalesce operator (??)