TypeScriptUnie i zawężanie
Przecięcie (A & B)
Typ łączący wszystkie pola kilku typów jednocześnie.
Przykład
#TypeScript
type Timestamps = { createdAt: string; updatedAt: string }
type Lesson = { title: string; minutes: number }
type StoredLesson = Lesson & Timestamps
const lesson: StoredLesson = {
title: 'Flexbox',
minutes: 14,
createdAt: '2026-09-01',
updatedAt: '2026-09-28'
}
console.log(Object.keys(lesson).length)Wynik
4
Definicja i zastosowanie
#Przecięcie łączy typy znakiem &. Wartość typu A & B musi spełniać oba typy naraz, czyli mieć wszystkie pola z A i wszystkie z B.
Najczęściej służy do składania typów obiektów z mniejszych części, na przykład User & Timestamps albo do dodania pól do typu z biblioteki. To odpowiednik extends dla aliasów type.
Przecięcie typów, które się wykluczają (np. string & number), daje never. Tak samo przy polach o tej samej nazwie, ale niezgodnych typach.
Składnia
#Składnia
type Nazwa = TypA & TypBDobre praktyki
#- Do składania typów obiektów przecięcie jest wygodne, ale przy konfliktach nazw pól łatwo o
never. Sprawdzaj wynik w edytorze. - W interfejsach ten sam efekt uzyskasz przez
extends, które lepiej zgłasza konflikty.
Powiązane hasła
#Widzisz błąd albo brakuje przykładu? Napisz do nas.