【Swift】if let とは?

Swiftのコードでよく見かける if let 構文について解説します。

スポンサーリンク

環境

この記事の情報は次のバージョンで動作確認しています。

【Swift】5.3.1
スポンサーリンク

解説

プロパティのnilチェクとアンラップ処理を同時にやってくれる便利な仕組みです。

変数aがnilで無い場合、定数bにアンラップしたaの値が代入されます。
同時にif文の条件判定は真となり、then節が実行されます。

変数aがnilの場合は、定数bへの代入は行われません。
同時にif文の条件判定は偽となり、else節が実行されますが、定数bは使えません。

動きとしては次のように書いた場合と同じです。

スポンサーリンク

正式な名称はオプショナルバインディング

正式な名称はif letではなくオプショナルバインディングと呼ばれ、実際には変数に代入するif varでもOKです。

オプショナルバインディングは、if以外にwhile文やguard文でも使用できます。
nilの場合に例外処理として処理を抜けるのであればguard文で記述した方がすっきりします。

スポンサーリンク

同じ名前の定数or変数に代入する

代入する定数または変数は同じ名前にもできます。
アンラップするだけの為にわざわざ違う名前を考える必要が無いので使い勝手が良いです。

スポンサーリンク

あわせて読みたい記事

【Swift】guard文の使い方
swiftのguard文の使い方を解説します。
swift
スポンサーリンク