Come viene valutato Swift IF LET?

Ho visto questo codice sul sito Swift e vari post qui e sto cercando di cogliere le basi. Come viene valutata questa linea?

if let name = optionalName { 

Sono confuso perché non è name == nome opzionale, sta assegnando il valore, quindi come fa quel report vero e perché non è vero quando si sostituisce con john appleseed con nil, in quanto sarà ancora uguale?

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