TypeScriptTypy podstawowe

Typy obiektów

Opis kształtu obiektu: jakie ma pola i jakiego typu.

Na tej stronie

Przykład

#
TypeScript
function greet(user: { name: string; level: number }): string {
  return `Cześć ${user.name}, masz poziom ${user.level}`
}

console.log(greet({ name: 'Ola', level: 4 }))
Wynik
Cześć Ola, masz poziom 4

Definicja i zastosowanie

#

Typ obiektu wymienia jego właściwości razem z ich typami: { name: string; level: number }. Obiekt przypisany do takiej zmiennej musi mieć wszystkie wymagane pola o zgodnych typach.

Przy literałach obiektów kompilator sprawdza też nadmiarowe pola. Literówka w nazwie pola, na przykład levle, zostanie zgłoszona, zamiast po cichu dodać nieużywaną właściwość.

Typy obiektów, które powtarzają się w kodzie, warto nazwać przez type albo interface. Pola opcjonalne oznaczasz znakiem zapytania, a pola tylko do odczytu słowem readonly.

Składnia

#
Składnia
let obiekt: { pole: typ; drugie?: typ }

Więcej przykładów

#
Nadmiarowe pole w literale
TypeScript
greet({ name: 'Kuba', levle: 3 })
// Błąd: Object literal may only specify known properties, and 'levle' does not exist in type '{ name: string; level: number; }'.

Dobre praktyki

#
  • Gdy ten sam kształt obiektu pojawia się drugi raz, nadaj mu nazwę przez type lub interface.
  • Oddzielaj pola średnikami lub przecinkami, ale konsekwentnie w całym projekcie.

Powiązane hasła

#

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