Функсияи навъи умумӣ дар TypeScript
Дар дарсҳои қаблӣ мо функсияи ҳавиятро сохтем, ки параметрҳои навъи умумӣ мегирифт. Ҳоло мо типро тавсиф кардани чунин функсия ва сохтани интерфейсҳои мумтиазро меомӯзем.
Функсияи навъи умумӣ метавонад инчунин
ба шакли тирӣ навишта шавад. Биёед
тағйирёбандаи func-ро эълон кунем, ки
типи функсияи умумӣ дошта бошад:
function myFunc <T> (data: T): T {
return data;
}
let func: <T> (data: T) => T = myFunc;
Метавон рамзи дигар барои навъи умумӣ ин тағйирёбанда муқаррар кард. Асосӣ ин аст, ки бояд бо эҳтиёт бошед, то номҳои навъҳо мухолифат накунанд:
function myFunc <T> (data: T): T {
return data;
}
let func: <U> (data: U) => U = myFunc;
Навъи умумӣ метавон навишта шавад, ки имзои даъват ва навъи функсияро дар қавсҳои каҷӣ гирифтааст:
function myFunc < T > (data: T): T {
return data;
}
let func: {<U> (data: U): U} = myFunc;
Функсия барои муайян кардани дарозии массиви навъи умумӣ дар вариантҳо нависед, ки дар ин дарс тавсиф шудаанд.