Frontendmasters Courses
891 subscribers
1 photo
7.9K videos
2.04K links
#frontendmasters courses

source: https://frontendmasters.com/courses

Channel for automated uploaded courses from frontendmasters.com

Our Channels:
@vue_courses
@vue_updates

Contacts:
@Black_Yuzia
Download Telegram
Media is too big
VIEW IN TELEGRAM
3. Identifiers
Mike explains how TypeScript allows for the creation of different importable and exportable things across module boundaries. The concept of namespaces and how multiple things can be stacked on top of each other in an identifier is also discussed in this segment.
-
https://www.typescript-training.com/course/intermediate-v2/02-declaration-merging/
#lesson
Media is too big
VIEW IN TELEGRAM
4. Namespaces
Mike discusses namespaces in JavaScript and uses jQuery as an example to explain how namespaces work. jQuery was used as a compatibility layer before standardized DOM APIs were available. A brief demonstration of using namespaces to organize and access functions and properties in JavaScript is also provided in this segment.
#lesson
Media is too big
VIEW IN TELEGRAM
5. Classes
Mike demonstrates that classes in TypeScript are both types and values, and shows how the class declaration merges with the static field "createBanana" to create a namespace-like structure. The difference between TypeScript's read-only attributes and the Object.freeze() method is also discussed in this segment.
#lesson
Media is too big
VIEW IN TELEGRAM
6. Top Types
Mike discusses extreme types in TypeScript, specifically the top and bottom types. The top type, "any", can accept any value and is often used when TypeScript cannot infer a more specific type. The top type, "unknown", requires type narrowing before it can be used.
-
https://www.typescript-training.com/course/intermediate-v2/03-top-and-bottom-types/
#lesson
Media is too big
VIEW IN TELEGRAM
7. Practical Uses of Top Types
Mike demonstrates how top types can be used to handle errors by using the `unknown` type in catch blocks to prevent assuming the type of the error. Using top types when receiving API responses from APIs that may change or when passing values through code that doesn't need to know about them.
#lesson
Media is too big
VIEW IN TELEGRAM
8. object & Empty Objects
Mike discusses the object type which represents all possible values except for primitives, and it can accept functions as well. Various examples and use cases of the object type and how it can be used to remove nullability from a type by intersecting it with the empty object type are also covered in this lesson.
#lesson
Media is too big
VIEW IN TELEGRAM
9. Bottom Types
Mike discusses bottom types, which do not accept any value and represent an impossibility. An example with an unreachable error class to handle cases where unexpected values are encountered at runtime is also demonstrated in this segment.
#lesson
Media is too big
VIEW IN TELEGRAM
10. Unit Types
Mike explains that unit types are types that can only have one value, such as null and undefined. Suggestions to avoid creating variables of type void and that literal types can also be used to create unit types are also covered in this segment.
#lesson
Media is too big
VIEW IN TELEGRAM
11. null & Non-null Assertion
Mike discusses the difference between null and undefined and introduces several TypeScript features and operators that can be used to handle nullish values, such as the non-null assertion operator. Examples and the potential use cases and limitations of these operators are also covered in this segment.
-
https://www.typescript-training.com/course/intermediate-v2/04-nullish-values/
#lesson
Media is too big
VIEW IN TELEGRAM
12. Definite Assignment Assertion
Mike discusses the definite assignment operator and explains how to use the exclamation mark (!) to assert that a variable will be assigned a value before it is used. A question about using the declare keyword instead of the exclamation mark is also covered in this segment.
#lesson
Media is too big
VIEW IN TELEGRAM
13. Optional Chaining & Nullish Coalescing
Mike explains the concept of optional chaining and demonstrates how to access nested properties using optional chaining. The concept of nullish coalescing and how it can be used to set default values for variables is also discussed in this segment.
#lesson
Media is too big
VIEW IN TELEGRAM
14. Modules & CJS Interop Overview
Mike discusses the JavaScript ecosystem's transition to using modern JavaScript modules directly in Node.js and browsers. Topics such as importing and exporting modules, importing types, CommonJS Interop, native ES module support, and importing non-TypeScript things are covered in the Modules & CJS Interop section.
-
https://www.typescript-training.com/course/intermediate-v2/05-modules/
#lesson
Media is too big
VIEW IN TELEGRAM
15. ES Module Imports & Exports
Mike dives into ES module imports and exports, exploring examples of named imports and exports, emphasizing the benefits of organizing code into multiple files. The example covers named imports involving consuming named exports, as well as consuming default imports.
#lesson
Media is too big
VIEW IN TELEGRAM
16. CommonJS Interop
Mike explains the differences between CommonJS modules and ECMAScript modules and demonstrates how to import and export modules using both styles. Potential issues and limitations of using CommonJS modules and some alternative solutions are also discussed in this segment.
#lesson
Media is too big
VIEW IN TELEGRAM
17. Native ES Modules
Mike discusses that TypeScript supports native ES modules and introduces the different file extensions that can be used for ES modules and CommonJS modules. How to specify the module type in the package.json file and how to import a CommonJS module in TypeScript is also demonstrated in this segment.
#lesson
Media is too big
VIEW IN TELEGRAM
18. Importing Non-TypeScript Files
Mike discusses how to import non-TypeScript files, such as images or JSON, in TypeScript when using a bundler like Webpack or Parcel. How to create a global declaration file to resolve import errors for non-TypeScript files and examples of importing image files and URL modules are also covered in this segment.
#lesson
Media is too big
VIEW IN TELEGRAM
19. Generic Constraints
Mike reviews a TypeScript Fundamentals exercise that involved converting an array of objects to a dictionary representation and demonstrates how to implement this conversion without using generics. The use of type parameter constraints to regain flexibility while still maintaining a minimum requirement on the type parameter is also discussed in this segment.
-
https://www.typescript-training.com/course/intermediate-v2/06-type-param-scopes-and-constraints/
#lesson
Media is too big
VIEW IN TELEGRAM
20. satisfies
Mike demonstrates how to use "satisfies" to retain the most specific type while still satisfying a given interface. The use of the "extends" keyword in TypeScript and how it is used to specify subtyping relationships between types is also discussed in this segment.
#lesson
Media is too big
VIEW IN TELEGRAM
21. Scopes and TypeParams
Mike discusses scopes and type parameters and explains how type parameters work similarly to variables in terms of scoping, using examples of functions and tuples. Best practices for using type parameters, emphasizing the importance of specifying constraints in the simplest way possible to maximize the flow of type information, are also discussed in this segment.
#lesson
Media is too big
VIEW IN TELEGRAM
22. Ternary Operators & Expressing Conditions
Mike introduces conditional types as a way to express type information similar to a ternary operator. How to define a conditional type that evaluates to different types based on a condition, and examples of using conditional types with literal types and union types are also covered in this segment.
-
https://www.typescript-training.com/course/intermediate-v2/07-conditional-types/
#lesson
Media is too big
VIEW IN TELEGRAM
23. Utility Types
Mike introduces the concept of utility types including the "extract" and "exclude" utility types. The "extract" utility type allows you to obtain a subpart of a type that matches another type, while the "exclude" utility type allows you to obtain a subpart of a type that does not match another type.
#lesson