TypeScriptTypy podstawowe
Tablice: number[] i Array<T>
Typy tablic, w których wszystkie elementy mają ten sam typ.
Przykład
#TypeScript
const scores: number[] = [72, 95, 88]
const names: Array<string> = ['Ania', 'Kuba']
scores.push(64)
const best = Math.max(...scores)
console.log(best, names.length)Wynik
95 2
Definicja i zastosowanie
#Tablicę opisujesz, dopisując nawiasy kwadratowe do typu elementu: number[] to tablica liczb, string[] tablica napisów. Równoważny zapis to typ generyczny Array<number>.
Dzięki temu kompilator wie, jakiego typu jest każdy element, i podpowiada metody. Po names.map(...) wie, że w funkcji dostajesz string, a próba dodania liczby do tablicy napisów skończy się błędem.
Tablice tylko do odczytu zapiszesz jako readonly string[] albo ReadonlyArray<string>. Kompilator zablokuje wtedy metody zmieniające tablicę, jak push().
Składnia
#Składnia
let liczby: number[] = [1, 2, 3]
let napisy: Array<string> = ["a", "b"]Więcej przykładów
#TypeScript
const levels: readonly string[] = ['łatwy', 'średni', 'trudny']
levels.push('ekspert')
// Błąd: Property 'push' does not exist on type 'readonly string[]'.TypeScript
const lessons: { title: string; minutes: number }[] = [
{ title: 'Znaczniki', minutes: 12 },
{ title: 'Atrybuty', minutes: 9 }
]
const total = lessons.reduce((sum, lesson) => sum + lesson.minutes, 0)
console.log(total)Wynik
21
Dobre praktyki
#- Wybierz jeden zapis (
T[]alboArray<T>) i trzymaj się go w projekcie. Częściej spotkaszT[]. - Dla tablic o stałej długości i różnych typach na pozycjach użyj krotki.
Powiązane hasła
#- Krotki (tuple)Tablice o stałej długości, w których każda pozycja ma własny typ.
- Typy obiektówOpis kształtu obiektu: jakie ma pola i jakiego typu.
- Generyki <T>Typy i funkcje z parametrem typu, działające dla wielu typów bez utraty precyzji.
- readonlyModyfikator blokujący zmianę pola po utworzeniu obiektu.
- ReadonlyArray<Type>Tablica tylko do odczytu: bez push, sort i przypisań po indeksie.
Widzisz błąd albo brakuje przykładu? Napisz do nas.