先日、回答をいただいた質問でさらにわからないことが増えてしまったので、度々失礼いたします。

以下、Swift4で配列(foo[String])から任意の文字列(value)の要素を削除する関数を用意しました。

func remove(value: String){
    if let index = foo.index(of: value) {
        foo.remove(at: index)
    }
}

この中にif文の中で定数が定義され、値が代入され、何をどう比較しているのかがわかりません。
if文の中に比較演算子以外を見ることが初めてです。
定数が定義され代入したことで、Bool値(?)が真になり、実行されるというのであれば、この書き方である必要というのはあるのでしょうか?
ご回答よろしくお願いいたします。