Déanann an dá rud an cruth sonraí a thuairisciú agus is minic go bhfuil siad inteartha, ach tá cumais éagsúla acu.
interface User { name: string; age: number; }
type User2 = { name: string; age: number; };
Déanann an dá rud an cruth sonraí a thuairisciú agus is minic go bhfuil siad inteartha, ach tá cumais éagsúla acu.
interface User { name: string; age: number; }
type User2 = { name: string; age: number; };
type a dhéanamh nach bhféadfaidh interface a dhéanamhtype ID = string | number; // unions
type Pair = [number, number]; // tuples
type Name = User["name"]; // indexed/mapped/conditional types
type Nullable<T> = T | null; // wrap any type
type is alias ginearálta do aon chineál — primitiví, aontais, tuples, mapped types. Ní dhéanann interface ach cruth rudaí/feidhmeanna a thuairisciú.
interface a dhéanamh nach bhféadfaidh type a dhéanamhinterface Box { width: number; }
interface Box { height: number; } // declaration merging — both merge into one
// Box now has width AND height
Tacaíonn interfaces le declaration merging (cuimsíonn fógra iolrach) agus is an bealach idiomatic chun a leathnú/a fheabhsú, lena n-áirítear cineálacha leabharlanna tríú páirtí a fheabhsú.
interface Admin extends User { role: string; } // interface
type Admin2 = User & { role: string }; // type uses intersection
Gnáthchoinbhinsiún: bain úsáid as interface do bhogearraí réada agus APIanna poiblí (teachtaireachtaí earráide níos fearr, inleoruithe, inchomhpháirte), agus type nuair atá gá agat do aontais, tuples, nó oibríochtaí cineáil eile. Roghnaigh ceann amháin mar an réamhshocrú ar bhealach comhsheasmhach — bhí deirge ar go leor foiréanais do interface a úsáid do réada agus dul i dteagmháil le type ní háon uair amháin nuair a bhí cumais bhreise ann.