Урок 1. 00:04:25
001 TypeScript's Relationship with JavaScript
Урок 2. 00:02:55
002 JavaScript vs. TypeScript in the Build Process
Урок 3. 00:01:43
003 Essential Tools for TypeScript Development
Урок 4. 00:01:33
004 Set up Node.js and VS Code
Урок 5. 00:03:01
005 Installing pnpm for Package Management
Урок 6. 00:01:19
006 Installing t
Урок 7. 00:00:48
007 Unexpected Token Error in the Browser
Урок 8. 00:01:20
008 Browsers Can't Understand TypeScript Syntax
Урок 9. 00:01:06
009 Convert a TypeScript File into a JavaScript File
Урок 10. 00:04:05
010 Compile TypeScript to JavaScript with the TypeScript CLI
Урок 11. 00:00:48
011 Automating TypeScript Compilation
Урок 12. 00:01:24
012 Use tsc's Watch Mode to Automatically Compile TypeScript Files
Урок 13. 00:01:09
013 Compiling TypeScript Files to a Directory
Урок 14. 00:01:11
014 Configure the Output Directory for Compiled Files
Урок 15. 00:01:47
015 Use Vite for a Frontend App with TypeScript
Урок 16. 00:02:56
016 Configure Vite for a Vanilla TypeScript Project
Урок 17. 00:01:03
017 Comparing Vite with tsc
Урок 18. 00:03:33
018 TypeScript as a Linter
Урок 19. 00:03:41
019 TypeScript in a CI-CD System
Урок 20. 00:04:47
020 Should TypeScript Block Your Dev Server_
Урок 21. 00:01:44
021 Quickly Create Scripts with tsx
Урок 22. 00:00:51
022 Understanding Function Errors
Урок 23. 00:01:05
023 Fixing Errors in the
Урок 24. 00:00:37
024 Annotating Empty Parameters
Урок 25. 00:01:15
025 Annotating Function Parameters
Урок 26. 00:00:56
026 Basic Types in TypeScript
Урок 27. 00:01:37
027 TypeScript Basic Types
Урок 28. 00:00:51
028 Optional Function Parameters
Урок 29. 00:00:57
029 Optional Function Parameters in TypeScript
Урок 30. 00:00:45
030 Default Parameters in JavaScript Functions
Урок 31. 00:01:27
031 Add a Default Parameter
Урок 32. 00:00:43
032 Typing Object Literals
Урок 33. 00:01:47
033 Annotating with {}
Урок 34. 00:00:52
034 Making Object Property Types Optional
Урок 35. 00:00:55
035 Specifying Optional Properties
Урок 36. 00:00:53
036 A Single Source of Truth for Type Definitions
Урок 37. 00:01:30
037 Creating
Урок 38. 00:00:53
038 Add an Array to an Object
Урок 39. 00:01:46
039 Two Syntaxes for Arrays
Урок 40. 00:00:48
040 Arrays of Objects in TypeScript
Урок 41. 00:02:12
041 Representing an Array of Objects
Урок 42. 00:00:37
042 Rest Parameters in TypeScript
Урок 43. 00:01:01
043 Using Rest Parameters in TypeScript
Урок 44. 00:01:20
044 Tuples for Precise Array Structures in TypeScript
Урок 45. 00:01:22
045 Using Tuple Syntax in TypeScript
Урок 46. 00:00:50
046 Using Optional Tuple Members in TypeScript
Урок 47. 00:01:34
047 Working with Optional Tuple Members in TypeScript
Урок 48. 00:01:07
048 The Controversial
Урок 49. 00:02:06
049 The Dangers of Using _any_
Урок 50. 00:01:25
050 Function Types
Урок 51. 00:01:45
051 Function Types for Type Aliases in TypeScript
Урок 52. 00:00:46
052 Typing an Event Listener
Урок 53. 00:01:52
053 The
Урок 54. 00:00:50
054 Restricting
Урок 55. 00:02:16
055 Creating Typed Sets
Урок 56. 00:00:52
056 Type Checking Maps
Урок 57. 00:01:48
057 Adding Types to Maps
Урок 58. 00:00:39
058 Debugging JSON Parsing
Урок 59. 00:01:20
059 Decoding the JSON.parse Error
Урок 60. 00:01:11
060 Typing Fetch API Responses in Async Functions
Урок 61. 00:02:27
061 Adding Types to an Async Function
Урок 62. 00:01:16
062 Understanding How TypeScript Works in Your IDE
Урок 63. 00:01:19
063 Introspecting Variables and Declarations in TypeScript
Урок 64. 00:00:28
064 Hovering Over a Function Call
Урок 65. 00:01:32
065 Fixing Errors with Hovering
Урок 66. 00:00:33
066 Adding Documentation for Hovers
Урок 67. 00:01:41
067 TSDoc Comments
Урок 68. 00:01:19
068 Manually Triggering Autocomplete
Урок 69. 00:01:32
069 The Control + Space Shortcut
Урок 70. 00:03:43
070 TypeScript's Approach to Errors
Урок 71. 00:01:51
071 Quick Renaming in VS Code
Урок 72. 00:02:29
072 Navigating Code with _Go to Definition_
Урок 73. 00:00:53
073 Fast Imports in VS Code
Урок 74. 00:02:12
074 Using Autocomplete and Quick Fix to Import Variables
Урок 75. 00:00:39
075 Organizing Imports in Large Files
Урок 76. 00:01:12
076 The Organize Imports Hotkey in VS Code
Урок 77. 00:00:54
077 Quick Fix Refactoring
Урок 78. 00:01:44
078 Refactoring with Quick Fixes
Урок 79. 00:02:08
079 Automatic Code Formatting with Prettier
Урок 80. 00:01:17
080 Restarting the TypeScript Server in VS Code
Урок 81. 00:01:01
081 Handling Null Values in TypeScript
Урок 82. 00:01:14
082 Introducing Union Types in TypeScript
Урок 83. 00:00:49
083 Diving Deeper into Unions and Assignability
Урок 84. 00:00:55
084 Restricting Function Parameters
Урок 85. 00:01:57
085 Combining Literal & Union Types
Урок 86. 00:01:06
086 Literal Type Assignability
Урок 87. 00:01:29
087 Combining Union Types in TypeScript
Урок 88. 00:01:08
088 Create New Types By Combining Unions
Урок 89. 00:01:11
089 How Big Can a Union Be_
Урок 90. 00:02:21
090 Resolving Literal Types to Wider Types
Урок 91. 00:02:12
091 Narrowing Unions with
Урок 92. 00:01:09
092 Conditional Narrowing in TypeScript
Урок 93. 00:02:50
093 Different Approaches for Narrowing Inputs
Урок 94. 00:01:05
094 Narrowing with Boolean Won't Work
Урок 95. 00:01:00
095 Gotchas When Narrowing a Map in TypeScript
Урок 96. 00:01:41
096 Correctly Narrowing a Map in TypeScript
Урок 97. 00:00:59
097 Narrowing by Throwing Errors
Урок 98. 00:01:43
098 Throwing Errors to Narrow
Урок 99. 00:01:30
099 Narrowing with
Урок 100. 00:01:41
100 Dynamically Handling Different API Responses in TypeScript
Урок 101. 00:02:08
101 Introducing the Unknown Type in TypeScript
Урок 102. 00:01:40
102 Dealing with Unknown Errors in TypeScript
Урок 103. 00:02:15
103 Narrowing with
Урок 104. 00:01:16
104 Narrowing Unknown in a Large Conditional Statement
Урок 105. 00:02:56
105 Narrowing Unknown Types in TypeScript
Урок 106. 00:02:24
106 Introducing the
Урок 107. 00:00:28
107 Solving the Never Type in TypeScript
Урок 108. 00:01:46
108 Empty Arrays and the Never Type in TypeScript
Урок 109. 00:01:31
109 Narrowing Return Types with TypeScript
Урок 110. 00:02:39
110 Returning
Урок 111. 00:01:29
111 Narrowing in Different Scopes
Урок 112. 00:04:08
112 Narrowing Behavior Across Scopes
Урок 113. 00:01:42
113 Handling Separate But Related Types
Урок 114. 00:04:17
114 Improving Type Safety with Discriminated Unions in TypeScript
Урок 115. 00:00:53
115 Destructuring a Discriminated Union in TypeScript
Урок 116. 00:02:59
116 Limitations of Destructuring Discriminated Unions
Урок 117. 00:01:05
117 Narrowing a Discriminated Union with a Switch
Урок 118. 00:02:20
118 Refactoring to a Switch Statement
Урок 119. 00:01:21
119 The switch (true) Pattern in TypeScript
Урок 120. 00:01:50
120 Refining Types with Discriminated Unions of Tuples
Урок 121. 00:02:42
121 Handle Error and Success States by Narrowing
Урок 122. 00:00:55
122 Discriminated Booleans
Урок 123. 00:01:09
123 Discriminated Unions with Boolean Discriminators
Урок 124. 00:00:59
124 Adding Defaults to a Discriminated Union
Урок 125. 00:03:52
125 Handling Optional Parameters in Discriminated Unions
Урок 126. 00:04:51
126 Should You Provide Function Return Types_
Урок 127. 00:02:09
127 Extending Objects in TypeScript
Урок 128. 00:00:49
128 Use the Intersection Operator to Extend an Object Type in TypeScript
Урок 129. 00:00:54
129 Extend an Object Using Interfaces in TypeScript
Урок 130. 00:01:50
130 Extending Interfaces to Create Hierarchies in TypeScript
Урок 131. 00:00:53
131 Extending Incompatible Properties
Урок 132. 00:03:20
132 Comparing Intersections and Interface Extends
Урок 133. 00:02:11
133 Comparing Intersection and Interface Extends in TypeScript
Урок 134. 00:01:00
134 Allow Dynamic Keys in TypeScript Types
Урок 135. 00:03:42
135 Dynamic Keys with Index Signatures and Record Types
Урок 136. 00:00:41
136 Allow Any String Key while Supporting Default Properties
Урок 137. 00:01:33
137 Add an Index Signature to an Interface
Урок 138. 00:01:46
138 Supporting Different Types of Keys in TypeScript
Урок 139. 00:00:51
139 Using the PropertyKey Type in TypeScript
Урок 140. 00:01:09
140 Restricting Object Keys in TypeScript
Урок 141. 00:02:52
141 Records and Mapped Types in TypeScript
Урок 142. 00:00:51
142 An Issue with Duplicate Interfaces
Урок 143. 00:03:09
143 Declaration Merging in TypeScript Interfaces
Урок 144. 00:01:37
144 Working with Partial Data from a Type
Урок 145. 00:02:56
145 Manage Subtypes with the Pick Utility Type
Урок 146. 00:00:50
146 Exclude a Property from an Interface
Урок 147. 00:01:29
147 The Omit Utility Type in TypeScript
Урок 148. 00:01:49
148 A Quirk of Omit in TypeScript
Урок 149. 00:03:06
149 Understanding Distributive Omit and Pick in TypeScript
Урок 150. 00:00:55
150 Excluding Fields from a TypeScript Type
Урок 151. 00:01:08
151 The Partial Utility Type in TypeScript
Урок 152. 00:00:48
152 Making Type Properties Required in TypeScript
Урок 153. 00:01:24
153 Specifying a Type with Shared Properties in TypeScript
Урок 154. 00:01:28
154 Common Keys of Unions of Objects in TypeScript
Урок 155. 00:01:02
155 Fixing a Type Assignment Inference Error
Урок 156. 00:02:10
156 Inference differences between let and const
Урок 157. 00:00:49
157 Object Property Inference
Урок 158. 00:02:44
158 Understanding Object Properties and Assignability in TypeScript
Урок 159. 00:00:28
159 Creating Read-only Properties
Урок 160. 00:01:03
160 Specifying Read-only Object Properties
Урок 161. 00:00:52
161 Using a Type Helper to Create Read-only Properties
Урок 162. 00:00:50
162 Use the Readonly Type Helper to Create Read-Only Objects in TypeScript
Урок 163. 00:01:23
163 Deeply Apply Read-only Properties to an Object in TypeScript
Урок 164. 00:01:18
164 Using as const to Deeply Apply Read-only Properties to an Object in TypeScript
Урок 165. 00:00:55
165 Comparing Object.freeze with as const
Урок 166. 00:01:36
166 Deeply Apply Read-only Properties with as const
Урок 167. 00:00:47
167 Prevent Array Mutation in TypeScript
Урок 168. 00:01:37
168 Two Ways to Create Read-Only Arrays in TypeScript
Урок 169. 00:02:02
169 Distinguishing Assignability Between Read-Only and Mutable Arrays
Урок 170. 00:01:32
170 Fixing Unsafe Tuples
Урок 171. 00:01:54
171 Specifying a readonly Tuple
Урок 172. 00:02:11
172 Use the ts-reset Library to Improve Readonly Array Handling in TypeScript
Урок 173. 00:01:20
173 Improve Type Inference for an Async Function
Урок 174. 00:02:03
174 Two Options for Improving Promise Return Types in TypeScript
Урок 175. 00:01:55
175 Infer Strings as Their Literal Types in Objects with as const
Урок 176. 00:00:51
176 Classes in TypeScript
Урок 177. 00:02:46
177 Creating a Class with Default Properties
Урок 178. 00:00:55
178 Implement Class Methods in TypeScript
Урок 179. 00:01:31
179 Declaring Methods in TypeScript Classes
Урок 180. 00:00:36
180 Creating Constructors for Classes in TypeScript
Урок 181. 00:01:42
181 Receive Arguments in Class Constructors
Урок 182. 00:01:01
182 Getter Methods in TypeScript
Урок 183. 00:01:42
183 Adding a Getter to a Class in TypeScript
Урок 184. 00:00:54
184 Public and Private Properties in TypeScript
Урок 185. 00:01:54
185 Prevent Access to Private Properties in Classes
Урок 186. 00:00:54
186 Setter Methods in TypeScript
Урок 187. 00:01:26
187 Add a Setter to a TypeScript Class
Урок 188. 00:01:32
188 Extending Classes in TypeScript
Урок 189. 00:04:12
189 Inheriting Properties from Other Classes in TypeScript
Урок 190. 00:03:05
190 Overriding Methods in TypeScript
Урок 191. 00:00:47
191 Ensure a Class Adheres to a Contract
Урок 192. 00:02:15
192 Implementing Interfaces in TypeScript with Classes
Урок 193. 00:01:10
193 Using
Урок 194. 00:02:54
194 Annotating
Урок 195. 00:00:53
195 Intro to TypeScript-only Features
Урок 196. 00:01:43
196 Parameter Properties in TypeScript
Урок 197. 00:01:46
197 Working with Enums in TypeScript
Урок 198. 00:02:51
198 Create an Enum in TypeScript
Урок 199. 00:01:15
199 String Enums in TypeScript
Урок 200. 00:02:28
200 Creating a String Enum in TypeScript
Урок 201. 00:04:16
201 Const Enums in TypeScript
Урок 202. 00:02:52
202 Namespaces in TypeScript
Урок 203. 00:01:31
203 Merging Namespaces in TypeScript
Урок 204. 00:01:15
204 Declaration Merging with Interfaces Inside of Namespaces
Урок 205. 00:04:43
205 When to Prefer ES Features to TS Features
Урок 206. 00:00:44
206 Introduction to Deriving Types in TypeScript
Урок 207. 00:00:58
207 The keyof Operator
Урок 208. 00:01:23
208 Flowing Types with the keyof Operator
Урок 209. 00:01:34
209 The typeof Operator
Урок 210. 00:02:21
210 Combine keyof and typeof to Derive Types
Урок 211. 00:02:04
211 No Creating Runtime Values from Types
Урок 212. 00:00:58
212 Deriving Types with Classes
Урок 213. 00:02:16
213 Using typeof with Classes in TypeScript
Урок 214. 00:00:53
214 Enums as Types and Values in TypeScript
Урок 215. 00:01:38
215 The this Keyword in TypeScript
Урок 216. 00:02:10
216 Using the Same Name for Values and Types in TypeScript
Урок 217. 00:01:38
217 Creating Types from Complex Function Parameters
Урок 218. 00:01:39
218 Use the Parameters Type to Extract Function Parameters
Урок 219. 00:00:34
219 Extracting Return Types from Functions
Урок 220. 00:00:43
220 Using the ReturnType Type Helper
Урок 221. 00:00:47
221 Extract the Return Type from an Async Function
Урок 222. 00:01:01
222 Unwrap Promises with the Awaited Type Helper
Урок 223. 00:01:22
223 Access Specific Values in an as const Object
Урок 224. 00:02:23
224 Use an Indexed Access Type to Access a Property
Урок 225. 00:00:43
225 Pass a Union to an Indexed Access Type
Урок 226. 00:01:56
226 Unions and Indexed Access Types in TypeScript
Урок 227. 00:00:39
227 Extract a Union of All Values from an Object
Урок 228. 00:02:38
228 Pass keyof into an Indexed Access Type
Урок 229. 00:01:23
229 Create a Union from an as const Array
Урок 230. 00:02:04
230 Pass a Primitive to an Indexed Access Type
Урок 231. 00:00:42
231 Required vs Unnecessary Annotations
Урок 232. 00:04:18
232 Simplifying TypeScript Annotations
Урок 233. 00:01:12
233 Provide Additional Information to TypeScript
Урок 234. 00:04:11
234 The _as_ and _as any_ Keywords in TypeScript
Урок 235. 00:01:08
235 Global Typings use any
Урок 236. 00:03:18
236 Preventing 'any' Type Issues from Global Typings
Урок 237. 00:02:22
237 The Limits of as in TypeScript
Урок 238. 00:01:02
238 Non-null Assertions
Урок 239. 00:03:16
239 Adding a Non-null Assertion
Урок 240. 00:03:16
240 The @ts-ignore Directive in TypeScript
Урок 241. 00:03:34
241 The @ts-expect-error Directive in TypeScript
Урок 242. 00:01:47
242 The @ts-nocheck Directive in TypeScript
Урок 243. 00:01:33
243 Improve Type Annotations with the satisfies Operator
Урок 244. 00:02:29
244 The satisfies Operator in TypeScript
Урок 245. 00:00:37
245 Using satisfies with keyof and typeof in TypeScript
Урок 246. 00:01:31
246 Specify Type Constraints with the satisfies Operator
Урок 247. 00:01:30
247 Comparing as, satisfies, and Variable Annotations in TypeScript
Урок 248. 00:04:15
248 When to Use as, satisfies, and Variable Annotations in TypeScript
Урок 249. 00:01:04
249 The satisfies Keyword and Deeply Read-Only Objects in TypeScript
Урок 250. 00:02:01
250 Combine as const with satisfies for Read-Only Objects
Урок 251. 00:00:52
251 Accept Anything Except Null or Undefined
Урок 252. 00:03:03
252 The Empty Object Type
Урок 253. 00:01:00
253 Typing a Truly Empty Object
Урок 254. 00:02:45
254 Handling a Truly Empty Object in TypeScript
Урок 255. 00:01:08
255 Excess Property Warnings in TypeScript
Урок 256. 00:04:03
256 Techniques for Triggering Excess Property Warnings in TypeScript
Урок 257. 00:01:11
257 Excess Properties in Functions
Урок 258. 00:03:15
258 Understanding Unexpected Properties in TypeScript
Урок 259. 00:03:47
259 Object.keys and Object.entries in TypeScript
Урок 260. 00:01:14
260 Iterating Over Object Keys in TypeScript
Урок 261. 00:03:42
261 Techniques for Iterating Over Object Keys
Урок 262. 00:01:03
262 Evolving Types using the
Урок 263. 00:01:44
263 The Evolving
Урок 264. 00:01:42
264 The Evolving
Урок 265. 00:00:53
265 Function Parameter Comparisons in TypeScript
Урок 266. 00:03:09
266 Understanding TypeScript's Function Parameter Comparisons
Урок 267. 00:00:53
267 Typing Functions with Object Params
Урок 268. 00:01:40
268 Typing Arrays of Functions with Object Params
Урок 269. 00:01:48
269 Properly Typing an Object of Functions
Урок 270. 00:02:13
270 Handling Union of Functions with Incompatible Types in TypeScript
Урок 271. 00:01:41
271 Unions of Function Return Types
Урок 272. 00:01:13
272 Annotating the Errors Thrown by a Function
Урок 273. 00:02:15
273 Techniques for Annotating Errors in TypeScript
Урок 274. 00:02:27
274 Understanding Modules and Scripts in TypeScript
Урок 275. 00:00:47
275 Enforcing Module Usage in TypeScript
Урок 276. 00:01:12
276 Update tsconfig for Modules
Урок 277. 00:01:40
277 Declaration Files in TypeScript
Урок 278. 00:02:27
278 Declaration Files Can Be Modules or Scripts
Урок 279. 00:00:57
279 Using Declaration Files with JavaScript in TypeScript
Урок 280. 00:02:29
280 Typing a JavaScript Module
Урок 281. 00:01:16
281 Type Variables Declared Elsewhere
Урок 282. 00:02:32
282 Ambient Context and the declare Keyword in TypeScript
Урок 283. 00:00:58
283 Global Scope Declarations in TypeScript
Урок 284. 00:02:39
284 Understanding Global Declarations in TypeScript
Урок 285. 00:00:32
285 Configuring the lib Compiler Option
Урок 286. 00:05:14
286 Setting a Compiler Target in tsconfig.json
Урок 287. 00:00:34
287 DOM Typing Configuration in TypeScript
Урок 288. 00:02:16
288 Update tsconfig.json to include DOM typings
Урок 289. 00:00:39
289 Update DOM Typing to Include Iterable
Урок 290. 00:01:22
290 Configuring TypeScript for DOM Iteration
Урок 291. 00:01:27
291 Modifying TypeScript Global Scope
Урок 292. 00:02:58
292 Adding Types to the Global Scope
Урок 293. 00:00:38
293 Adding Type Definitions for External Libraries
Урок 294. 00:03:46
294 Install Type Definitions from DefinitelyTyped
Урок 295. 00:01:11
295 Integrating TypeScript with Node
Урок 296. 00:02:13
296 Modifying process.env Typing in TypeScript
Урок 297. 00:03:17
297 Updating Node.ProcessEnv
Урок 298. 00:01:43
298 Types that Ship With Libraries
Урок 299. 00:01:01
299 Declaring Module Types in TypeScript
Урок 300. 00:01:42
300 The declare module Syntax in TypeScript
Урок 301. 00:00:59
301 Importing and Typing Non-Code Files in TypeScript
Урок 302. 00:02:29
302 Use Wildcards in TypeScript Module Declarations
Урок 303. 00:00:59
303 TSConfig Options and Declaration Files
Урок 304. 00:04:04
304 Understanding skipLibCheck in TypeScript
Урок 305. 00:02:30
305 Should You Use Declaration Files to Store Your Types_
Урок 306. 00:03:26
306 Recommended Base Configuration
Урок 307. 00:03:27
307 Understanding Isolated Modules in TypeScript
Урок 308. 00:00:51
308 Index Access Settings
Урок 309. 00:01:30
309 Making Code Safer with No Unchecked Indexed Access
Урок 310. 00:01:11
310 Using TypeScript as a Linter
Урок 311. 00:02:06
311 The noEmit Option in tsconfig.json
Урок 312. 00:04:22
312 Module NodeNext with Extensions
Урок 313. 00:05:08
313 The moduleResolution Option in tsconfig.json
Урок 314. 00:01:07
314 Enforcing Import Syntax
Урок 315. 00:03:22
315 The Verbatim Module Syntax in TSConfig
Урок 316. 00:02:52
316 Verbatim Module Syntax Enforces Import Type
Урок 317. 00:03:46
317 Understanding lib and target in TypeScript Configuration
Урок 318. 00:01:20
318 Bundle Your Code for Library Use
Урок 319. 00:01:05
319 Emitting TypeScript Declaration Files
Урок 320. 00:01:04
320 Navigate to Source Files Instead of Declaration Files
Урок 321. 00:01:29
321 Utilizing Declaration Maps in TypeScript
Урок 322. 00:00:37
322 Configure JSX Support in TypeScript
Урок 323. 00:02:31
323 Update tsconfig.json to Support JSX
Урок 324. 00:00:39
324 Multiple TypeScript Configurations
Урок 325. 00:01:19
325 Managing Multiple tsconfig Files
Урок 326. 00:00:51
326 Globals are Tied to a Single Configuration
Урок 327. 00:00:36
327 Share Configuration Across Multiple tsconfig Files
Урок 328. 00:01:45
328 Extending a Base TypeScript Configuration
Урок 329. 00:02:38
329 TypeScript Project References
Урок 330. 00:06:00
330 Organizing TypeScript Configurations with Project References
Урок 331. 00:01:14
331 Designing Your Types
Урок 332. 00:01:35
332 Introduction to Generic Types
Урок 333. 00:03:59
333 Implement a Generic Type
Урок 334. 00:00:51
334 Generics with Multiple Type Parameters
Урок 335. 00:01:52
335 Add Multiple Type Arguments to a Generic Type
Урок 336. 00:01:57
336 Handle Errors with a Generic Result Type
Урок 337. 00:01:10
337 Default Type Parameters in Generics
Урок 338. 00:01:42
338 Specify a Default Type Parameter
Урок 339. 00:01:11
339 Add Constraints to a Type Parameter
Урок 340. 00:02:46
340 Constraining Type Parameters
Урок 341. 00:01:06
341 Build a Stricter Omit Type
Урок 342. 00:01:38
342 Constrain Keys in a StrictOmit Type Helper
Урок 343. 00:01:03
343 Template Literal Types in TypeScript
Урок 344. 00:02:10
344 Constrain Strings to Match a Pattern with Template Literal Types
Урок 345. 00:00:38
345 Represent All Possible Type Combinations with Template Literals
Урок 346. 00:01:59
346 Passing Unions to Template Literal Types
Урок 347. 00:01:04
347 Derive Types with Mapped Types
Урок 348. 00:03:21
348 Use a Mapped Type to Create a New Object Shape
Урок 349. 00:01:13
349 Remapping Keys in TypeScript Map Types
Урок 350. 00:02:28
350 Combine the
Урок 351. 00:01:55
351 Introduction to the Utilities Folder
Урок 352. 00:01:07
352 Generic Functions Without Inference
Урок 353. 00:01:54
353 Make a Function Generic
Урок 354. 00:00:51
354 Default Parameter Types for Generic Functions
Урок 355. 00:00:40
355 Setting a Default Parameter Type for Generic Functions
Урок 356. 00:01:09
356 Inference in Generic Functions
Урок 357. 00:03:39
357 Enable Generic Functions to Better Infer Types
Урок 358. 00:01:22
358 Type Parameter Constraints with Generic Functions
Урок 359. 00:02:45
359 Add Constraints to Generic Functions with the extends Keyword
Урок 360. 00:01:16
360 Combining Generic Types with Generic Functions
Урок 361. 00:02:15
361 Refactoring for Generic Types and Functions
Урок 362. 00:01:08
362 Multiple Type Arguments in Generic Functions
Урок 363. 00:04:16
363 Type Inference in Function Parameters
Урок 364. 00:01:26
364 Using Type Predicates to Create Reusable Type Guards
Урок 365. 00:03:23
365 Annotate a Return Type with a Type Predicate
Урок 366. 00:01:35
366 Understanding Assertion Functions in TypeScript
Урок 367. 00:02:09
367 Asserting Types with Type Predicates
Урок 368. 00:01:22
368 Adapt a Function to Handle Different Types of Arguments
Урок 369. 00:04:29
369 Implement Function Overloads
Free and even better than this course, enjoy