Просунуті основи TypeScript

Просунуті основи TypeScript
en
08.07.2024
10 г 59 хв 08 сек

Ви вже спробували TypeScript, але в глибині душі відчуваєте, що втрачаєте щось важливе.

Ви чули, що TypeScript вирішує всі проблеми, пов’язані з JavaScript, такі як незручне автодоповнення, помилки під час виконання та масштабування для великих проектів.

То чому ви все ще відчуваєте, що не використовуєте TypeScript на повну потужність?

Ви постійно стикаєтеся з типовими перешкодами, відчуваєте труднощі зі зміною і відчуваєте себе обмеженими у розумінні більш розвинених функцій. Ви знаєте, що настав час рухатися далі, але не впевнені, з чого почати.

Все що ви чули про TypeScript, правда. Він допоможе вам виявляти помилки до їх появи, писати чистіший код і рефакторити з упевненістю. Але для того, щоб цього досягти, вам потрібен провідник.

Total TypeScript Pro Essentials – це те, що ви шукали. Цей воркшоп стане вашою картою на шляху становлення майстром TypeScript.

З більш ніж 200 уроками в 17 розділах цей воркшоп допоможе вам глибоко зрозуміти TypeScript на кожному рівні.

Від конфігурації та налаштування IDE до просунутої роботи з типами та кращих практик розробки додатків, Total TypeScript Pro Essentials охоплює все. Незалежно від того, чи ви є новачком у TypeScript або використовуєте його вже багато років, ви напевно отримаєте цінні знання та навички з цього воркшопу.

Ось що включено:

Введення в TypeScript

Почніть роботу з TypeScript з оновлення основних переваг та концепцій TypeScript: початкова конфігурація, компілятор TypeScript та виведення типів.

Дотримуйтесь рекомендованих налаштувань і розширень для вашого редактора, з акцентом на Visual Studio Code, і ознайомтеся з такими функціями, як навігація, автозаповнення, рефакторинг та написання коду, що самодокументується.

Зрозумійте роль TypeScript у процесі збирання і чому браузери потребують допомоги для розуміння синтаксису. Структуруйте свій проект для правильної роботи з компілятором та налаштуйте роботу з сучасними інструментами складання, такими як Vite та заміна гарячих модулів (HMR). Практикайтеся в налаштуванні перевірки типів у CI/CD конвеєрі, запобігаючи попаданню помилок у продакшн.

Основи TypeScript

Зміцніть свої базові навички, працюючи з основними типами та анотаціями TypeScript. Ви будете працювати з параметрами функцій і типами значень, що повертаються, моделювати дані за допомогою об’єктних літералів, масивів і кортежів. Пишіть багаторазово використовувані псевдоніми типів, правильно типізуйте асинхронний код та обробляйте дані, що надходять із зовнішніх джерел. Створюйте більш гнучкі типи, використовуючи об’єднання, перетину та інтерфейси.

Пишіть більш виразний код, який уточнює типи за допомогою декількох методів звуження, і усвідомте роль any, never та unknown у вашому коді.

Об’єкти, Класи та Змінність

Типи, інтерфейси та класи – все це має своє місце в TypeScript. Дізнайтеся різницю між ними і як вибрати правильну структуру для ваших потреб. Працюйте з динамічними даними в об’єктах і долайте обмеження сигнатур індексів, використовуючи типи, що відображаються. Практикуйте у використанні основних помічників типів, таких як Pick, Omit та Partial, і навчитеся створювати своїх помічників, коли це необхідно.

Розробте ментальну модель того, як змінюваність впливає на виведення типів та безпеку. Усвідомте переваги незмінних структур даних і навчитеся оминати їх особливості.

Застосовуйте принципи об’єктно-орієнтованого програмування до коду TypeScript. Зрозумійте роль класів, конструкторів та модифікаторів доступу, а також як використовувати успадкування та композицію для побудови складних систем, дотримуючись реальних шаблонів проектування.

Робота з компілятором

Використовуйте потужність компілятора TypeScript для виведення типів із значень, поглиблюючи розуміння виведення типів. Створюйте нові типи псевдонімів типів і використовуйте типи індексованого доступу для цільових вкладених властивостей.

Усвідомлюйте, коли TypeScript потребує вашої допомоги через анотації та затвердження типів, а також мета використання as, asserts та satisfies. Застосовуйте ці техніки у реальних сценаріях, таких як робота з DOM API, парсинг JSON та створення об’єктів конфігурації.

Розуміння оточення

Розрізняйте модулі та скрипти TypeScript, щоб запобігти забрудненню глобальної області видимості. Забезпечуйте типи для JavaScript-файлів та сторонніх бібліотек та зрозумійте роль декларацій оточення.

Безпечно модифікуйте глобальні інтерфейси, такі як Window через злиття декларацій, працюйте з просторами імен, такими як JSX, і розумійте, коли використовувати файли визначення типів .d.ts замість модулів.

Дізнайтеся найкращі практики налаштування поведінки TypeScript залежно від типу проекту, над яким ви працюєте. Регулюйте рівні строгості, роздільну здатність модулів та створюйте файли декларацій типів. Використовуйте TypeScript як засіб для лінтингу та оптимізуйте продуктивність складання для великих проектів.

Розвинена розробка додатків

Розумійте основні відмінності між CommonJ

S (CJS) та ES Modules (ESM), і як TypeScript обробляє синтаксис модулів. Дізнайтеся, як використовувати розширення файлів для керування роздільною здатністю модулів, і налаштуйте параметри TypeScript для більш узгодженої поведінки. Приймайте обґрунтовані рішення щодо впровадження ESM у ваші проекти та створюйте бібліотеки, які підтримують як споживачів CJS, так і ESM для максимальної сумісності.

Практикуйтеся в моделюванні домену, представляючи концепції реального світу і пишіть бізнес-логіку всередині вашого типу. Встановлюйте єдині джерела правди для визначення типів і створюйте утиліти узагальнених типів, які багаторазово використовуються. Посилюйте перевірку типів за допомогою правильно розміщених обмежень.

Комбінуйте узагальнені типи та перевантаження функцій для максимальної гнучкості, створюйте захисники типів і предикати для покращення виведення типів. Створюйте безпечні API з використанням типів шаблонних літералів, типів і типів помилок, що відображаються.

Ви не можете переглядати цей курс -

Array ( [bitrate] => 2389878 [filesize] => 83681637 [mime_type] => video/mp4 [length] => 265 [length_formatted] => 4:25 [width] => 1920 [height] => 1080 [fileformat] => mp4 [dataformat] => quicktime [audio] => Array ( [dataformat] => mp4 [bitrate] => 128002 [codec] => ISO/IEC 14496-3 AAC [sample_rate] => 48000 [channels] => 2 [bits_per_sample] => 16 [lossless] => [channelmode] => stereo [compression_ratio] => 0.083334635416667 ) [created_timestamp] => -2082844800 )