Swift · · 1 min read

Optional Binding in Swift 5.7: A Shorter Version of if let

Optional Binding in Swift 5.7: A Shorter Version of if let

Other than all the new features of SwiftUI in iOS 16, Apple also announced Swift 5.7 which will come along with the release of Xcode 14. Let’s check out one minor but welcome change in Swift 5.7.

Swift has the concept of optionals that many programming languages don’t have. An optional type means that it can either have a value or there isn’t a value. Swift forces you to check if an optional has a value before using it.


Optional Binding is a common way to find out whether an optional has a value or not. Here is a sample code snippet using optional binding:

var phone: String?

if let myPhone = phone {
    print("Calling " + myPhone)

If you’re new to Swift, the if let keyword means that if the optional phone contains a value, the value is saved to myPhone. Inside the if block, myPhone is a constant that must contain a value.

To simplify the constant or variable naming, we usually write the code like this:

if let phone = phone {
    print("Calling " + phone)

We make the constant name the same as the optional.

Optional Binding in Swift 5.7

In Swift 5.7, Apple further allows us to simplify the code like below:

if let phone {
    print("Calling " + phone)

This is a minor change in Swift 5.7. However, as optional binding is commonly used in writing Swift code, this should save you a few keystrokes and make the code more readable.

Note: If you are new to Swift, you can check out our free Swift guide to start learning the Swift programming language.

Read next