jakubszpil

Wprowadzenie do TypeScript

TypeScript to coraz popularniejszy język programowania, który rozszerza możliwości jakie daje JavaScript. Jeżeli pracowałeś już z JavaScript, na pewno docenisz dodatkowe bezpieczeństwo i wygodę, które oferuje TypeScript! 🚀

>>Spis treści

  1. Co to jest TypeScript?
  2. Czym różni się TypeScript od JavaScript?
  3. Dlaczego warto korzystać z TypeScript?
  4. Jak zacząć z TypeScript?
  5. Podstawy składni TypeScript
  6. Jak używać typów w praktyce?
  7. Narzędzia i integracje
  8. Częste pułapki i wskazówki
  9. TypeScript w projektach open-source i pracy zespołowej
  10. Gdzie znaleźć deklaracje typów do bibliotek JS?
  11. Gdzie szukać pomocy?
  12. Zadania praktyczne
  13. Podsumowanie

>>Co to jest TypeScript?

TypeScript to nadzbiór JavaScriptu stworzony przez Microsoft. Oznacza to, że każdy poprawny kod JavaScript jest też poprawnym kodem TypeScript. TypeScript wprowadza jednak statyczne typowanie, co pozwala na wcześniejsze wykrywanie błędów w kodzie i daje wiele narzędzi do pisania lepiej zorganizowanych aplikacji.


>>Czym różni się TypeScript od JavaScript?

TypeScript to JavaScript z dodatkowymi możliwościami typowania i narzędziami dla programistów.


>>Dlaczego warto korzystać z TypeScript?


>>Jak zacząć z TypeScript?

>>>Instalacja

Najprostszym sposobem na rozpoczęcie pracy z TypeScript jest instalacja globalna kompilatora:

npm install -g typescript

Sprawdź wersję poleceniem:

tsc --version

Możesz też dodać TypeScript jako zależność do swojego projektu:

npm install --save-dev typescript

>>>Kompilacja plików .ts do .js

TypeScript nie jest rozumiany bezpośrednio przez przeglądarki. Musisz najpierw skompilować (transpilować) swój kod do JavaScriptu:

tsc nazwa-pliku.ts

To wygeneruje plik nazwa-pliku.js gotowy do użycia w przeglądarce lub Node.js.

>>>Konfiguracja projektu i tsconfig.json

W większych projektach warto utworzyć plik tsconfig.json, aby skonfigurować ustawienia kompilatora:

tsc --init

Przykładowy plik tsconfig.json:

{
  "compilerOptions": {
    "target": "es6",
    "module": "commonjs",
    "strict": true,
    "outDir": "./dist"
  },
  "include": ["src/**/*"]
}

>>>Twój pierwszy projekt TypeScript

  1. Utwórz folder projektu i zainicjuj npm:

    mkdir moj-projekt-ts
    cd moj-projekt-ts
    npm init -y
    npm install typescript --save-dev
    npx tsc --init
    
  2. Dodaj plik src/index.ts z dowolnym kodem, np.:

    console.log("Hello TypeScript!");
    
  3. Skompiluj i uruchom:

    npx tsc
    node dist/index.js
    

>>Podstawy składni TypeScript

>>>Typowanie zmiennych

let liczba: number = 42;
let tekst: string = "Cześć TypeScript!";
let isActive: boolean = true;

>>>Typowanie funkcji

function dodaj(a: number, b: number): number {
  return a + b;
}

Możesz też typować parametry domyślne, opcjonalne i funkcje strzałkowe:

const powiedzHej = (imie: string = "Gość"): string => `Hej, ${imie}!`;

>>>Interfejsy

Interfejsy pozwalają opisać strukturę obiektów:

interface Osoba {
  imie: string;
  wiek: number;
  email?: string; // pole opcjonalne
}

const user: Osoba = {
  imie: "Jan",
  wiek: 30,
};

>>>Typy złożone

Możesz używać tablic, unii typów oraz typów własnych:

let liczby: number[] = [1, 2, 3];
let tekstLubNumer: string | number = "hej";
type Punkt = { x: number; y: number };
const p: Punkt = { x: 3, y: 7 };

>>>Klasy i dziedziczenie

TypeScript wspiera klasy i dziedziczenie (OOP):

class Zwierze {
  constructor(public nazwa: string) {}
  wydajDzwiek() {
    console.log("Dźwięk!");
  }
}

class Pies extends Zwierze {
  wydajDzwiek() {
    console.log("Hau hau!");
  }
}

const burek = new Pies("Burek");
burek.wydajDzwiek(); // Hau hau!

>>>Enumy

Enumy pozwalają na definiowanie własnych typów wyliczeniowych:

enum Kolor {
  Czerwony,
  Zielony,
  Niebieski,
}

const ulubionyKolor: Kolor = Kolor.Zielony;

>>>Alias typów

Alias pozwala nazwać typ złożony:

type ID = string | number;
let userId: ID = 123;

>>Jak używać typów w praktyce?


>>Narzędzia i integracje

TypeScript świetnie współpracuje z popularnymi frameworkami frontendowymi jak React, Angular czy Vue. Wiele projektów open-source już teraz korzysta z TypeScriptu, więc znajomość tego języka to duży plus na rynku pracy!


>>Częste pułapki i wskazówki

>>>Najczęstsze błędy i jak je naprawić


>>TypeScript w projektach open-source i pracy zespołowej


>>Gdzie znaleźć deklaracje typów do bibliotek JS?

Nie każda biblioteka JavaScript ma wbudowane typy. Możesz jednak łatwo doinstalować oficjalne deklaracje typów.


>>Gdzie szukać pomocy?

Dodatkowo na GitHubie znajdziesz mnóstwo przykładowych projektów opartych o TypeScript, które mogą posłużyć za inspirację.


>>Zadania praktyczne

Oto zadania, dzięki którym lepiej zrozumiesz podstawy TypeScript. Sprawdź się i rozwijaj swoje umiejętności!


>>>Zadanie 1: Typowanie zmiennych

Zadeklaruj trzy zmienne: liczbę, tekst oraz wartość logiczną – każda powinna być odpowiednio otagowana typem.

Pokaż rozwiązanie
let liczba: number = 10;
let tekst: string = "Witaj TypeScript!";
let aktywny: boolean = true;

>>>Zadanie 2: Funkcja z typowanymi argumentami

Napisz funkcję dodaj, która przyjmuje dwa argumenty typu number i zwraca ich sumę. Nie zapomnij o typach!

Pokaż rozwiązanie
function dodaj(a: number, b: number): number {
  return a + b;
}

>>>Zadanie 3: Interfejs i obiekt

Zdefiniuj interfejs Samochod z polami marka (string) oraz rok (number). Następnie utwórz obiekt typu Samochod.

Pokaż rozwiązanie
interface Samochod {
  marka: string;
  rok: number;
}

const auto: Samochod = {
  marka: "Toyota",
  rok: 2020,
};

>>>Zadanie 4: Alias typu i unia typów

Zdefiniuj alias typu ID jako string lub number. Następnie zadeklaruj zmienną userId i przypisz jej liczbę.

Pokaż rozwiązanie
type ID = string | number;
let userId: ID = 123;

>>>Zadanie 5: Klasa i dziedziczenie

Stwórz klasę Zwierze z polem nazwa (string) oraz metodą wydajDzwiek. Następnie utwórz klasę Kot dziedziczącą po Zwierze i nadpisz metodę, aby wypisywała "Miau!".

Pokaż rozwiązanie
class Zwierze {
  constructor(public nazwa: string) {}
  wydajDzwiek() {
    console.log("Dźwięk!");
  }
}

class Kot extends Zwierze {
  wydajDzwiek() {
    console.log("Miau!");
  }
}

const mruczek = new Kot("Mruczek");
mruczek.wydajDzwiek(); // Miau!

>>Podsumowanie

TypeScript to świetne narzędzie dla każdego, kto chce pisać nowoczesny, bezpieczny i skalowalny kod JavaScript. Dzięki statycznemu typowaniu, lepszej czytelności i wsparciu dla narzędzi deweloperskich praca z nim staje się łatwiejsza i przyjemniejsza. Jeśli jeszcze nie próbowałeś – spróbuj! 👨🏻‍💻👩🏼‍💻

Quiz: Podstawy TypeScript

Pytanie 1 z 5

Czym jest TypeScript?

Widzisz jakiś błąd, bądź literówkę? Chcesz coś poprawić?✏️ Przejdź do edycji tego pliku