TypeScriptTypy podstawowe

Tablice: number[] i Array<T>

Typy tablic, w których wszystkie elementy mają ten sam typ.

Na tej stronie

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

#
Tablica tylko do odczytu
TypeScript
const levels: readonly string[] = ['łatwy', 'średni', 'trudny']
levels.push('ekspert')
// Błąd: Property 'push' does not exist on type 'readonly string[]'.
Tablica obiektów
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[] albo Array<T>) i trzymaj się go w projekcie. Częściej spotkasz T[].
  • Dla tablic o stałej długości i różnych typach na pozycjach użyj krotki.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.