Tipiese veranderlikes in TypeScript

Vir 'n beter begrip van die konsep van generika laat ons ons eerste funksie skep - identiteitsfunksie. So 'n funksie gee presies terug wat daaraan oorgedra is - met dieselfde tipe.

Laat ons eers die variante van ons funksie afsonderlik skryf.

Kom ons skryf 'n funksie wat 'n getal as parameter aanvaar en 'n getal teruggee:

typescriptfunction func(data: number): number {
  return data;
}

Nou skryf ons 'n funksie wat 'n string as parameter aanvaar en 'n string teruggee:

typescriptfunction func(data: string): string {
  return data;
}

Gestel ons wil nou een funksie hê wat dit alles doen. Met ander woorde, ons wil veralgemening uitvoer.

Hiervoor gebruik ons 'n tipiese veranderlike, wat die datatipe daarin stoor. So 'n veranderlike word verklaar in hoekies voor die hakies met die funksieparameters. Kom ons verklaar sodanige veranderlike, met die naam T (enige naam is moontlik):

typescriptfunction func <T>(hier parameters) {
  return data;
}

Daarna sal ons die veranderlike T hê, wat ons kan gebruik om die tipe van die parameter daarin te plaas, en dan dit as die terugkeertipe aan te dui.

Kom ons dui ons parameter se tipe aan as ons veranderlike:

typescriptfunction func <T>(data: T) {
  return data;
}

Dit beteken die parameter kan in enige tipe oorgedra word, en hierdie tipe sal in ons veranderlike T gestoor word.

Nou gebruik ons die waarde van veranderlike T om die funksie se resultaat aan te dui:

typescriptfunction func <T>(data: T): T {
  return data;
}

Nou sal die tipe van die funksieresultaat afkomstig wees van die tipe van die parameter. Kom ons toets dit.

Roep die funksie met 'n getal:

typescriptconsole.log( func(3) );   // sal 3 uitdruk

Roep die funksie met 'n string:

typescriptconsole.log( func('x') ); // sal 'x' uitdruk
Задание 1

Maak 'n funksie wat as parameter of twee getalle, of twee stringe aanvaar. Die funksie moet die som van die parameters as resultaat teruggee.