¿Cuándo usar typealias?

Hasta ahora entiendo que el typealias es un alias con nombre de un tipo existente. Al usar typealias, podría hacer algo como:

typealias MyString = String
var str: MyString?

typealias Strings = [String]
var strs: Strings?

lo que lleva a declararstr variable como String ystrs como una matriz de cuerdas.

Incluso para un tipo personalizado:

class MyClass {}
typealias MyClsType = MyClass
var myClass: MyClsType

Sin embargo, parece un pocoinútil; Lógicamente, ¿cuál es el propósito de declarar -por ejemplo-var str: MyString? ser una cadena en lugar devar str: String?? aún más,var str: String Es más expresivo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta