Iż-żewġ jiddeskrivu l-għamla tad-dejta u ħafna drabi jintuża alternattivament, iżda għandhom kapaċitajiet differenti.
interface User { name: string; age: number; }
type User2 = { name: string; age: number; };
Iż-żewġ jiddeskrivu l-għamla tad-dejta u ħafna drabi jintuża alternattivament, iżda għandhom kapaċitajiet differenti.
interface User { name: string; age: number; }
type User2 = { name: string; age: number; };
typeinterfacetype 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 huwa alias ġenerali għal kwalunkwe tip — primittivi, union, tuple, mapped type. interface jiddeskrivi biss il-għamla ta' object/funzjoni.
interface li type ma tistaxinterface Box { width: number; }
interface Box { height: number; } // declaration merging — both merge into one
// Box now has width AND height
L-Interface jisupportaw declaration merging (deklarazzjonijiet multipli jingħaqdu) u huma l-mod idiomatiku biex tegħtix/iżżid, inkluż l-iżżid ta' tipi ta' librerija ta' terz.
interface Admin extends User { role: string; } // interface
type Admin2 = User & { role: string }; // type uses intersection
Kunvenzzjoni komuni: uża interface għal għamla ta' object u API pubbliċi (messaġġi ta' żball aħjar, estendibli, mergeable), u type meta għandek bżonn union, tuple, jew operazzjonijiet ta' tip ieħor. Agħżel waħda bħala default għal konsistenzi — ħafna timijiet default għal interface għal object u ilaqqaw type biss meta l-kwaċċa additiva tiegħu hija meħtieġa.