Ta lekcja jest w bazie eduweb
Zaloguj się kontem z dostępem albo wykup dostęp do bazy, żeby obejrzeć wideo.
Lekcja 11/ 26Typy w TypeScript
TypeScript dzięki wprowadzeniu statycznego typowania na zawsze zmienił oblicze JavaScriptu. W tym Kursie poznasz jego działanie, które wykorzystasz w swojej codziennej pracy. Co ważne, TypeScript oferuje również dostęp do funkcji, które jeszcze nie są częścią standardu ECMAScript. Przez istnienie tzw. nadzbioru języka JavaScript - kod pisany w JavaScript jest w 100% kompatybilny z TypeScriptem. W efekcie możesz zacząć używać go już teraz i stopniowo wdrażać w swoich projektach.
Zacznijmy od tego, że JavaScript jest dynamicznie typowany. Oznacza to, że typy zmiennych mogą się zmieniać w czasie wykonywania programu, a my nie mamy nad nimi kontroli. A po co nam ta kontrola? Między innymi po to, aby przypadkowo nie dodać typu number do string lub przekazać do funkcji nieprawidłowe danych. Ogromną zaletą jest to, że o tego typu błędach dowiadujemy się już na etapie pisania kodu a nie dopiero w trakcie jego wykonywania... na produkcji.
Prawdopodobnie znasz mechanizm intellisense, czyli inteligentnego podpowiadania kodu przez edytor. Pisząc kod w TypeScript, tworzysz definicje typów dotyczących Twojej aplikacji. W ten sposób dostęp do definicji klas i właściwości obiektów masz właściwie na wyciągnięcie myszki. Wystarczy "hover" na funkcji aby uzyskać szczegółowe informacje, które pomogą Ci w pisaniu kodu. Oprócz tego otrzymasz również automatyczne podpowiedzi w trakcie dostępu do właściwości i metod. Nic tylko pisać kod!
Nie musisz przepisywać całego projektu. TypeScript stanowi nadzbiór JavaScriptu. Zatem cały Twój projekt jest z nim w 100% kompatybilny, a Ty możesz stopniowo dodawać definicje typów. Nawet nie będziesz wiedział kiedy typy pojawią się w całej Twojej aplikacji. To daje Ci również możliwość uczenia się TypeScriptu w trakcie jego wdrażania. W tym kursie opanujesz podstawy a później... sam zobaczysz!
Ten kurs został stworzony z myślą o programistach, którzy podstawy JavaScriptu mają już za sobą i chcą poznać zalety statycznego typowania oferowanego przez TypeScript. Na początku Kursu zaczynamy również od krótkiej powtórki najważniejszych elementów samego JS.
Wersja oprogramowania: 3.8+
Typ Array · 1 min
// Array
const data: number[] = [1, 2, 3, "4"]
const genericData: Array<number> = [5, 6, 7]
typeof Array /*?*/
let randomNumber: number
randomNumber = genericData[2]Typ Tuple · 2 min
// Tuple
let setting: [string, boolean]
setting = ["darkmode", true]
setting = ["darkmode", true, 10]Typ Object · 3 min
// Object
let product: { name: string; price: number; count: number }
product = {
name: "Mentoring session",
price: 340,
count: 2,
}
const user: { name: string; getName(): string } = {
name: "Adam",
getName() {
return this.name
},
}Typ Enum · 5 min
// Enum
enum ExtensionType {
doc,
docx = 3,
pdf,
}
ExtensionType.docx /*?*/
ExtensionType[3] /*?*/
ExtensionType["pdf"] /*?*/
function setExtension(extension: ExtensionType) {
extension /*?*/
}
setExtension(ExtensionType.doc)
setExtension(3)
enum ExtensionTypes {
doc = "application/msword",
docx = "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
pdf = "application/" + "pdf",
}
ExtensionTypes.docx /*?*/
ExtensionTypes[2] /*?*/const Enum · 6 min
// const Enum
const enum SubscriptionStatus {
active,
expired,
}
function getSubscriptions(status: SubscriptionStatus) {
switch (status) {
case SubscriptionStatus.active:
return ["(active subscriptions)"]
case SubscriptionStatus.expired:
return ["(expired subscriptions)"]
}
}
function getSubscriptions(status: SubscriptionStatus) {
switch (status) {
case 0:
return ["(active subscriptions)"]
case 1:
return ["(expired subscriptions)"]
}
}7 rozdziałów26 lekcji1h 54min
Dostęp do wszystkich kursów z bazy eduweb za 199 zł/mies.
Nazywam się Adam Gospodarczyk, jestem designerem i full-stack developerem. Przez całą swoją karierę zawodową pracuję w świecie startupów z branży edukacji, szkoleń pracowników oraz rekrutacji. Jestem współzałożycielem trzech produktów, które rozwijałem w roli CTO od samego początku. Przez ten czas zdobyłem szerokie doświadczenie znacznie wykraczające poza zakres samej technologii. W maju 2017 roku założyłem kanał na YouTube „overment” (https://overment.com) w ramach side-project’u po godzinach. Dziś jest to jeden z największych w Polsce tego typu projektów dla programistów za który otrzymałem nagrodę „JavaScript Hero of Community” podczas konferencji JS Poland 2019. Łącząc moje startup’owe doświadczenie z pasją do technologii, pomogę Ci nauczyć się programowania patrząc szerzej na perspektywę całego biznesu - jest to doceniana przez pracodawców umiejętność, którą wiele osób całkowicie pomija. Przy tym wszystkim pokażę Ci jak ważna jest regularna nauka i pozostawanie na bieżąco.