Como o Swift IF LET é avaliado?

Eu já vi esse código no site Swift e em várias postagens aqui e estou tentando entender o básico. Como esta linha é avaliada?

if let name = optionalName {

Estou confuso porque não é nome == nome opcional, está atribuindo o valor, então como esse relatório é verdadeiro e por que não é verdadeiro quando você substitui por john appleseed por nil, pois ainda será igual?

var optionalName: String? = "John Appleseed"
var greeting = "Hello!"
if let name = optionalName {
    greeting = "Hello, \(name)"
}

questionAnswers(5)

yourAnswerToTheQuestion