Sobes.tech
Junior — Middle

Kas TypeScriptis saab kasutada tüübi kinnitamise operaatorit üldtüüpidega?

sobes.tech AI

Vastus AI-lt

Küsimus puudutab TypeScripti, kuid moodul on märgitud kui Golang, seetõttu selgitan TypeScripti kohta.

TypeScriptis võimaldab Tüübi väitmise operaator (Type Assertion) märkida kompilaatorile, et väljend omab kindlat tüüpi. Seda on võimalik teha ka üldtüüpidega (generics).

Näiteks, kui teil on üldine funktsioon:

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

function unwrap<T>(wrapper: Wrapper<T>): T {
  return (wrapper as Wrapper<T>).value;
}

Siin on as Wrapper<T> tüübi väitmise operaator üldtüübiga.

Oluline on mõista, et tüübi väitmine ei muuda objekti jooksvalt, vaid mõjutab ainult tüübi kontrolli kompileerimise ajal.

Seetõttu saab tüübi väitmise operaatorit kasutada üldtüüpidega TypeScriptis piiranguteta.