Junior — Middle
Lze v TypeScriptu použít operátor typu assertion s generickými typy?
sobes.tech AI
Odpověď od AI
Otázka se týká TypeScriptu, ale modul je uveden jako Golang, takže objasním ohledně TypeScriptu.
V TypeScriptu operátor tvrzení typu (Type Assertion) umožňuje kompilátoru naznačit, že výraz má určitý typ. To je také možné s generickými typy.
Například, pokud máte generickou funkci:
type Wrapper<T> = { value: T };
function unwrap<T>(wrapper: Wrapper<T>): T {
return (wrapper as Wrapper<T>).value;
}
Zde je as Wrapper<T> operátor tvrzení typu s generickým typem.
Je však důležité pochopit, že tvrzení typu nemění objekt během běhu, pouze ovlivňuje kontrolu typů při kompilaci.
Proto lze operátor tvrzení typu používat s generickými typy v TypeScriptu bez omezení.