TypeScript nie wspiera bezpośrednio krotek – robi to poprzez wykorzystanie wymuszenia typów na elementach tablicy.
Wymuszanie typu elementów tablicy
TypeScript pozwala na ustalenie typu dla każdego elementu tablicy z osobna:
let someArray: [number,string,boolean,number];Co wymusza użycie dokładnie takich samych typów w odpowiednich miejscach tablicy:
someArray = [1,'a',false,1];TypeScript będzie „bronił” zarówno odpowiedniego rozmiaru tablicy jak i typów:
someArray = [1]; //nie dziala - za malo elementow
someArray = [1,2,3,4]; //nie dziala - niepoprawne typy elementowProblem
Niestety ale TypeScript pozwala na dodawanie elementów to takich tablic z wykorzystaniem funkcji push:
someArray = [1,'a',false,1];
someArray.push('someElement');
someArray.push(1);
...Definiowanie krotki
Tak więc chcąc stworzyć krotkę, należy wykorzystać powyższy mechanizm:
let tuple: [number, string];Nie wszystko jest „bronione”
Jak wyjaśnione w sekcji Problem, wciąż da się wpisać do takiej krotki dodatkowe elementy. Więc często lepszym rozwiązaniem jest stworzenie własnego typu.
