Dukansu suna bayyana sifar bayani kuma sau da yawa ana iya musayar su, amma suna da karfin aiki daban-daban.
interface User { name: string; age: number; }
type User2 = { name: string; age: number; };
Dukansu suna bayyana sifar bayani kuma sau da yawa ana iya musayar su, amma suna da karfin aiki daban-daban.
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 shine babbar alias na kowane nau'i — primitives, unions, tuples, mapped types. interface kawai sai ya bayyana sifar kayan aiki/aiki.
interface zai iya yin da type ba zai iya yin bainterface Box { width: number; }
interface Box { height: number; } // declaration merging — both merge into one
// Box now has width AND height
Interfaces suna goyan baya declaration merging (marubuta da yawa gida) kuma sune hanyar da ba komai ta fadada/haɓa, tare da haɓar nau'i na labarai na waje.
interface Admin extends User { role: string; } // interface
type Admin2 = User & { role: string }; // type uses intersection
Hakika gida: yi amfani da interface don sifar kayan aiki da API na jama'a (saƙarake na kuskure na kyau, fadawa, haɗawa), da type lokacin da kake bukatsu unions, tuples, ko sauran aikikin nau'i. Zaɓi daya a matsayin ka na gida don daidaituwa — timu masu yawa sun fi sa hannu zuwa interface don kayan aiki kuma su aje wa type kawai lokacin da karfin sa ya zama bukattu.