Definiowanie kształtów obiektów za pomocą interfejsów
Użyj interface do opisania struktury obiektu.
Definiowanie kształtów obiektów za pomocą interfejsów to bezpłatna lekcja TypeScript Academy na CoddyKit. To lekcja 1 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.
Wprowadzenie
Podstawowy interfejs
interface User {
id: number;
name: string;
email: string;
}
const alice: User = { id: 1, name: 'Alice', email: 'a@b.com' };Właściwości opcjonalne za pomocą ?
interface Config {
host: string;
port?: number; // optional
timeout?: number; // optional
}Właściwości tylko do odczytu
interface Point {
readonly x: number;
readonly y: number;
}
const p: Point = { x: 5, y: 10 };
// p.x = 0; // Error!Sygnatury metod
interface Animal {
name: string;
speak(): string;
move(distance: number): void;
}Sygnatury indeksów
interface StringMap {
[key: string]: string;
}
const headers: StringMap = {
'content-type': 'application/json',
'accept': 'text/html',
};Typowanie strukturalne
interface Named { name: string; }
function greet(obj: Named) { console.log(obj.name); }
greet({ name: 'Alice', age: 30 }); // Extra props OK when not a literalSprawdzanie nadmiarowych właściwości
interface Config { host: string; }
// const c: Config = { host: 'localhost', extra: 1 }; // Error on literal
const obj = { host: 'localhost', extra: 1 };
const c: Config = obj; // OK — not a fresh literalInterfejs dla typów funkcji
interface Greeter {
(name: string): string;
}
const greet: Greeter = name => 'Hello, ' + name;Zagnieżdżone interfejsy
interface Address { street: string; city: string; }
interface Person { name: string; address: Address; }
const p: Person = { name: 'Alice', address: { street: '1 Main', city: 'NY' } };Interfejs a instancja klasy
interface Saveable { save(): Promise<void>; }
class UserService implements Saveable {
async save() { /* ... */ }
}Szybkie sprawdzenie
Podsumowanie
Często zadawane pytania
Czy lekcja „Definiowanie kształtów obiektów za pomocą interfejsów” jest bezpłatna?
Tak — pełny tekst „Definiowanie kształtów obiektów za pomocą interfejsów” 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 „Definiowanie kształtów obiektów za pomocą interfejsów”?
Użyj interface do opisania struktury obiektu. Ć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 1 z 4.
Ile czasu zajmuje lekcja „Definiowanie kształtów obiektów za pomocą interfejsów”?
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
- Definiowanie kształtów obiektów za pomocą interfejsów
- Aliasy typów dla złożonych typów
- Rozszerzanie i scalanie interfejsów
- Interface czy type: kiedy używać którego