Languages
[Edit]
PL

TypeScript - generyczna funkcja strzałkowa

3 points
Created by:
Sylwia
3590

W tym krótkim artykule przyjrzymy się, jak utworzyć generyczną funkcję strzałkową w jezyku TypeScript. Zaprezentowane rozwiązanie działa dla plików *.ts - dla plików typu *.tsx rowiązanie problemu umieszczono w notatce Uwaga pod pierwszym przykładem.

Szybkie rozwiązanie:

let print = <T> (entry: T) : void => {
    consle.log(entry);
};

print(100);    // 100
print(true);   // prawda
print('text'); // tekst

Uwagi:

  • podając agrument dla funkcji print kompilator automatycznie wykrywa typ argumentu, więc nie jest potrzebne wywołanie typu:
    • print<number>(100),
    • print<boolean>(true),
    • print<string>('text'),
  • dla plików *.tsx należy używać zapisu typu:
    let print = <T extends {}> (entry: T) : void => { /* kod */ }

Bardziej skomplikowany przykład

W tym przykładzie użyliśmy generycznej funkcji strzałkowej do iteracji po tablicy. Funkcja iterate przyjmuje tablicę oraz referencje do funkcji wykonywanej jako iteracja. Obydwa argumenty są generyczne dzięki czemu możemy pracować na elementach tablicy posiadających różny typ.

interface Iteration<T> {
    (index : number, item : T) : void;
}

let iterate = <T> (array : Array<T>, iteration : Iteration<T>) : void => {
    for(let i = 0; i < array.length; ++i) {
        iteration(i, array[i]);
    }
};

// Przykład użycia:

let array : Array<number> = [ 1, 2, 3 ];

let iteration = (index : number, item : number) : void => {
    console.log(`${index} : ${item}`);
};

iterate(array, iteration);

Wynik:

0 : 1
1 : 2
2 : 3

Uruchom kod tutaj.

Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.

TypeScript (PL)

Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join