TypeScript - klasy cz. 1

preview_player
Показать описание
TypeScript w krok za ES6 umożliwia korzystanie z klas oraz dziedziczenia w klasach. W przeciwieństwie do tradycyjnego JS, który nie posiadał class jako takich.

Klasa składa się ze słówka class, contructora, właściwości i metod. Przy czym użycie constructora jest opcjonalne - jeżeli nie przekazujemy do klasy żadnej referencji to możemy go pominąć. Właściwości i metody klasy często nazywa się składowymi klasy.

Dzięki użyciu klas programista uzyskuje dostęp poprzez dziedziczenie do klas bazowych (lub jak mówi się inaczej - super klas), z których może zapożyczać właściwości i metody.

Przykład: klasa Ford może dziedziczyć po klasie Car

Do dziedziczenia stosuje się polecenie extends, po którym następuje podanie nazwy klasy bazowej.

Przykład:
export class AppComponent extends BookComponent
oznacza to tyle, że klasa o nazwie AppComponent dziedziczy wszystkie właściwości i metody po swojej klasie bazowej BookComponent.

Klasy w Angularze są podstawą tworzonych componentów, serwisów i dyrektyw własnych. Można je zatem spotkać na każdym kroku. Stąd warto zainwestować swój czas i dobrze zrozumieć, w jaki sposób funkcjonują klasy, jakie korzyści z nich można czerpać oraz jakie zagrożenia się z ich użyciem wiążą (o tym będę mówił w następnym odcinku).

Warto zdać sobie sprawę, że klasy w TypeScripcie to tzw. lukier składniowy. Oznacza to tyle, że ponieważ nie są stosowane przez Javascript to podczas kompilacji następuje ich przetłumaczenie na język JavaScript. A tam obowiązuje dziedziczenie prototypowe. Dlatego też nie spotkamy tam komendy extends.

Pozdrowienia dla tych co czytają opisy - jesteście elitą :)

Cytat tygodnia:
Inwestycja w wiedzę zawsze przynosi największe zyski.
Benjamin Franklin

KONTAKT DO MNIE ✍🏻✍🏻
Рекомендации по теме
Комментарии
Автор

Cześć! Dzięki za materiał, to jest to czego szukałem przedstawione w bardzo przystępnej formie ;) Pozdrawiam!

inspirewd
Автор

a jak dziedziczenie ma sie do składowych oznaczonych jako @Input(), @Output() lub @ViewChild? czy sa tak samo dziedziczone jak zwykłe składowe? czy trzeba na cos uważać? Film jak najbardziej na plus. Pozdrawiam

brzytwiarz
Автор

"W JavaScripcie tam użycie klas nie funkcjonują (...) natomiast w TypeScripcie, tak klasy działają, tak jak w każdym innym języku, który klas używa".

Czy byłbyś w stanie rozwinąć tę myśl, bo nie zgodzę się z tym stwierdzeniem. TypeScript to nakładka na JavaScript i transpiruje kod napisany z TS na JS. TypeScript używa class i działa tak samo jak w czystym JS.

Użycie klas nie zmienia modelu dziedziczenia, ponieważ używa się TS, zamiast JS.

Cytuję z MDN: "Klasy w Javascript zostały wprowadzone w ECMAScript 2015 jako lukier składniowy dla istniejącego,  opartego na prototypach modelu dziedziczenia. Składnia klas  wprowadza nowego zorientowanego obiektowo modelu dziedziczenia. Klasy wprowadzają znacznie prostszą i bardziej czytelną składnię do tworzenia obiektów i dziedziczenia."

mikolaj_lewandowski