Aliasy typów i interfejsy
Porównuj aliasy typów i interfejsy oraz używaj ich
Aliasy typów i interfejsy to bezpłatna lekcja TypeScript Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej TypeScript Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs TypeScript Academy zawiera 4 lekcji w sumie.
Aliasy typów a interfejsy
Aliasy typów i interfejsy
Witamy na kolejnej lekcji! W tej lekcji dowie się Pan/Pani o aliasach typów i interfejsach w TypeScript, w tym o ich różnicach, podobieństwach oraz o tym, kiedy używać każdego z nich. Zaczynajmy!

Czym są aliasy typów?
Czym są aliasy typów?
Alias typu pozwala zdefiniować własną nazwę dla typu. Może reprezentować typy prymitywne, obiekty, a nawet sygnatury funkcji.
Przykład:
Zadanie: Utwórz alias typu dla obiektu reprezentującego książkę i użyj go do zdefiniowania zmiennej.
type Point = {
x: number;
y: number;
};
let point: Point = { x: 10, y: 20 };
console.log(point);
// Output: { x: 10, y: 20 }
Czym są interfejsy?
Czym są interfejsy?
Interfejs definiuje strukturę obiektu, w tym jego właściwości i metody. Często używa się go do wymuszania spójności i bezpieczeństwa typów obiektów.
Przykład:
Zadanie: Utwórz interfejs dla profilu użytkownika i użyj go do zdefiniowania zmiennej.
interface Point {
x: number;
y: number;
}
let point: Point = { x: 5, y: 15 };
console.log(point);
// Output: { x: 5, y: 15 }
Aliasy typów a interfejsy: podobieństwa
Aliasy typów a interfejsy: podobieństwa
Aliasy typów i interfejsy mają pewne wspólne cechy:
- Oba mogą opisywać strukturę obiektu.
- Oba mogą służyć do definiowania typów funkcji.
- Oba obsługują rozszerzanie innych typów.
Przykład: typ funkcji:
Zadanie: Zdefiniuj alias typu i interfejs dla funkcji, a następnie ich użyj.
type Add = (a: number, b: number) => number;
interface Subtract {
(a: number, b: number): number;
}
let add: Add = (x, y) => x + y;
let subtract: Subtract = (x, y) => x - y;
console.log(add(5, 3));
// Output: 8
console.log(subtract(5, 3));
// Output: 2
Aliasy typów a interfejsy: różnice
Aliasy typów a interfejsy: różnice
Oto najważniejsze różnice:
- Interfejsy: Mogą być scalane (scalanie deklaracji).
- Aliasy typów: Nie można ich scalać.
- Aliasy typów: Mogą definiować typy unii i przecięć.
- Interfejsy: Są przeznaczone przede wszystkim do opisywania struktur obiektów.
Przykład: typy unii z aliasami typów:
Zadanie: Użyj aliasu typu do zdefiniowania typu unii i przypisz różne wartości do zmiennej.
type StringOrNumber = string | number;
let value: StringOrNumber = "Hello";
value = 42;
// value = true;
// Error: Type 'true' is not assignable to type 'StringOrNumber'.
Rozszerzanie typów i interfejsów
Rozszerzanie typów i interfejsów
Zarówno aliasy typów, jak i interfejsy mogą rozszerzać inne typy:
- Interfejsy: Używają słowa kluczowego
extends. - Aliasy typów: Używają przecięć (
&).
Przykład:
Zadanie: Rozszerz alias typu i interfejs, aby utworzyć nowe typy.
interface Animal {
name: string;
}
interface Dog extends Animal {
breed: string;
}
type Bird = Animal & { canFly: boolean };
let myDog: Dog = { name: "Buddy", breed: "Golden Retriever" };
let myBird: Bird = { name: "Parrot", canFly: true };
console.log(myDog, myBird);
Scalanie deklaracji
Scalanie deklaracji
Interfejsy obsługują scalanie deklaracji, w ramach którego wiele deklaracji interfejsu o tej samej nazwie jest łączonych w jeden interfejs. Aliasy typów nie obsługują tej funkcji.
Przykład:
Zadanie: Utwórz dwie deklaracje interfejsu o tej samej nazwie i przetestuj scalanie deklaracji.
interface Person {
name: string;
}
interface Person {
age: number;
}
let person: Person = { name: "Alice", age: 30 };
console.log(person);
// Output: { name: "Alice", age: 30 }
Kiedy używać poszczególnych rozwiązań
Kiedy używać poszczególnych rozwiązań
Oto kilka wskazówek:
- Używaj interfejsów do definiowania struktur obiektów oraz wtedy, gdy potrzebne jest scalanie deklaracji.
- Używaj aliasów typów dla unii, przecięć lub podczas definiowania typów funkcji.
Wskazówka: Wybierz rozwiązanie, które najlepiej pasuje do danego przypadku użycia, aby zachować przejrzystość i spójność!
Świetna robota!
Świetna robota!
Gratulacje! Nauczył(a) się Pan/Pani o podobieństwach i różnicach między aliasami typów a interfejsami w TypeScript, a także o tym, kiedy używać każdego z nich. W następnej lekcji pozna Pan/Pani zaawansowane funkcje TypeScript, takie jak typy warunkowe. Kontynuujmy programowanie!

Często zadawane pytania
Czy lekcja „Aliasy typów i interfejsy” jest bezpłatna?
Tak — pełny tekst „Aliasy typów i interfejsy” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu TypeScript Academy, przejdź na CoddyKit PRO. Kurs TypeScript Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Aliasy typów i interfejsy”?
Porównuj aliasy typów i interfejsy oraz używaj ich Ćwiczysz TypeScript Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć TypeScript Academy?
Nie wymagamy żadnego doświadczenia. TypeScript Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Aliasy typów i interfejsy”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji TypeScript Academy?
Tak. Każda lekcja TypeScript Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Typy generyczne
- Aliasy typów i interfejsy
- Typy narzędziowe
- Strażnicy typów