Type Alias

Los Type Alias son exactamente los mismos tipos dedatos y valores originales solo que con nombres alternativos, esto sirve para darle más semántica al lenguaje.

Type alias utiliza la palabra reservada type para funcionar:

type Name = string;
type NameResolver = () => string;
type NameOrResolver = Name | NameResolver;
function getName(n: NameOrResolver): Name {
    if (typeof n === "string") {
        return n;
    }
    else {
        return n();
    }
}

los Type alias no solo pueden ser tipos de datos generícos, también se pueden utilizar parametros como por ejemplo:

type Container<T> = { value: T };

También puede hacer referencia a sí mismo:

type Tree<T> = {
    value: T;
    left: Tree<T>;
    right: Tree<T>;
}

El operador & se utiliza para crear un tipo de dato base como por ejemplo:

// FOO
enum FooIdBrand {}
type FooId = FooIdBrand & string;

// BAR
enum BarIdBrand {}
type BarId = BarIdBrand & string;

results matching ""

    No results matching ""