Haɗi haɓaka shine TypeScript da ke haɗa haɓaki masu sunan ɗaya zuwa ma'anar ɗaya. Interfaces, namespaces, da wasu ginin sune haɗawa ta atomatik.
Haɗi Interface
interface Box { width: number; }
interface { : ; }
Haɗi haɓaka shine TypeScript da ke haɗa haɓaki masu sunan ɗaya zuwa ma'anar ɗaya. Interfaces, namespaces, da wasu ginin sune haɗawa ta atomatik.
interface Box { width: number; }
interface { : ; }
Iyaye haka kake ƙidaya nau'i zuwa sitatanni ko duniyar da ba ka ne mai:
// Add a custom property to Express's Request
declare global {
namespace Express {
interface Request { user?: { id: string }; } // merges into Express.Request
}
}
request.user; // ✅ now typed everywhere
// Augment a module
declare module "some-lib" {
interface Options { newOption: boolean; }
}
Saboda Request/Options na sitatanni interface ne, haɓakinka haɗa a ciki maimakon rikici — ba ka iya faɗaɗa nau'i masu aminci da ba za ka iya gyara ba.
function greet() {}
namespace greet { export const version = "1.0"; }
greet.version; // "1.0" — namespace merged onto the function
type ba zai iya yin wannan batype A = { x: number };
type A = { y: number }; // ❌ Error: duplicate identifier
Alias nau'i suke nawa; kaɗai interfaces (da namespaces) suke haɗawa — babbar dalilin amfani da interface don ɗumin API jama'a masu faɗaɗa.
Haɗi haɓaka shine hanyar bayan haɓakan module — fadaɗa buƙatun Express, ƙari ga window, gyara nau'i sitatanni, tsarin jiya.
Tabbatattun ilimi ne don baiyanin aiki na ainihi inda dole ne ka daidaita nau'i da ba ka damre ba, ba tare da tsagewar su ba.