Languages
[Edit]
PL

TypeScript - generyczna funkcja strzałkowa

3 points
Created by:
Sylwia
3410

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.

Native Advertising
50 000 ad impressions - 449$
­čÜÇ
Get your tech brand or product in front of software developers.
For more information contact us:
Red dot
Dirask - friendly IT community for everyone.

ÔŁĄ´ŞĆ­čĺ╗ ­čÖé

Join