CodeDala
Home
Courses
Paths
Marketplace
How it works
Pricing
🌐
KZ
RU
EN
Log in
Start free
Order a project
TS
💻 For developers
TypeScript
Types on top of JavaScript: fewer bugs, better autocomplete
What you'll build
📘
A solid foundation
⚡
Practice in the browser
🎯
Mini-projects
🎓
Course certificate
📘 30
lessons
⏱ 1-2 evenings
🎓 Advanced
🎯 Mission
Master TypeScript
⚡
+350
XP
🏆
Certificate
PDF
🎓
Course complete
Progress
0 / 30 · 0%
Next up:
What is TypeScript
Start the project →
Course program
01
Аннотации и вывод типов
0 / 5 lessons
⌄
01
What is TypeScript
JS + types
•
The tsc compiler
•
Advantages
⚡ +10
▶ Now
02
Type inference
Automatic type
•
Annotation not always needed
•
When to specify a type
⚡ +10
Open
03
Primitives: `string`, `number`, `boolean`
string strings
•
number numbers
•
boolean logic
⚡ +10
Open
04
`const` and `let` — the difference
const doesn’t change
•
let changes
•
When to use which
⚡ +10
🔒 Pro
05
When to write a type annotation
Inference is enough
•
Function parameters
•
Precise vs redundant
⚡ +10
🔒 Pro
02
Типы функций
0 / 5 lessons
⌄
06
Function parameter types
Parameter annotation
•
Return type
•
The void concept
⚡ +10
🔒 Pro
07
Optional parameters (`?`)
The ? sign
•
Default value
•
Checking undefined
⚡ +10
🔒 Pro
08
Function types and arrow functions
The => arrow syntax
•
Function type
•
A function in a variable
⚡ +10
🔒 Pro
09
Passing a function as a parameter (callback)
A callback function
•
A function type in a parameter
•
map/filter example
⚡ +10
🔒 Pro
10
Function types — mini project
A set of functions
•
A chain of types
•
A real example
⚡ +10
🔒 Pro
03
Объекты, интерфейсы, type alias
0 / 5 lessons
⌄
11
Object type
Object literal type
•
Field annotation
•
Type matching
⚡ +10
🔒 Pro
12
`interface` — naming an object type
interface syntax
•
Reuse
•
interface in a function
⚡ +10
🔒 Pro
13
`type` alias — a name for a type
The type keyword
•
interface vs type
•
Alias for a primitive
⚡ +10
🔒 Pro
14
Optional fields and `readonly`
The ? field marker
•
readonly is immutable
•
A partial object
⚡ +10
🔒 Pro
15
Extending an interface (`extends`)
The extends keyword
•
Inherited fields
•
Mini project
⚡ +10
🔒 Pro
04
Массивы, кортежи, enum
0 / 5 lessons
⌄
16
Array types (`T[]` and `Array<T>`)
The T[] notation
•
Array<T> syntax
•
Empty array type
⚡ +10
🔒 Pro
17
Array methods — `map`, `filter`, `find`
map transform
•
filter
•
find search
⚡ +10
🔒 Pro
18
Tuples
Tuple syntax
•
Fixed length
•
Destructuring
⚡ +10
🔒 Pro
19
`enum` — a set of named constants
enum syntax
•
Numeric enum
•
String enum
⚡ +10
🔒 Pro
20
Arrays and tuples — mini project
Array of objects
•
Array of tuples
•
Using reduce
⚡ +10
🔒 Pro
05
Union, литералы, сужение
0 / 5 lessons
⌄
21
Union types (`|`)
The | pipe
•
Several types
•
Union examples
⚡ +10
🔒 Pro
22
Literal types
A specific value type
•
String literal
•
Numeric literal
⚡ +10
🔒 Pro
23
Narrowing (via `typeof`)
typeof check
•
Narrowing via if
•
Type guard
⚡ +10
🔒 Pro
24
Narrowing with the `in` operator
The in operator
•
Discriminator field
•
Union of objects
⚡ +10
🔒 Pro
25
Unions and literals — mini project
Notification system
•
Union + narrowing
•
A real example
⚡ +10
🔒 Pro
06
Дженерики и утилитные типы
0 / 5 lessons
⌄
26
Generic functions (`<T>`)
<T> syntax
•
Type parameter
•
Reuse
⚡ +10
🔒 Pro
27
Generic interfaces and types
Generic interface
•
Generic type alias
•
API response
⚡ +10
🔒 Pro
28
The `Partial`, `Required`, `Readonly` utility types
Partial — optional
•
Required — mandatory
•
Readonly
⚡ +10
🔒 Pro
29
The `Pick`, `Omit`, `Record` utility types
Pick — select fields
•
Omit — exclude fields
•
Record — key-value
⚡ +10
🔒 Pro
30
Generics — mini project (a Stack class)
Generic Stack
•
push/pop operations
•
A typed collection
🎓
Course complete
🔒 Pro
TypeScript — online coding course