Modern JavaScript
Please register here or let me know directly
Description
The course teaches modern JavaScript and TypeScript from scratch. It starts from ES5 and explains crucial elements, such as objects, this, and prototypes, in detail. Then, participants will learn all the features of ES6 and, finally, the most important features of TypeScript. Different programming paradigms will be compared using dedicated code examples, such as object-oriented vs. functional style, static vs. dynamic typing, and declarative vs. imperative programming. The asynchronous and reactive aspects of JavaScript are often the root of complex and hard-to-understand code, which is why participants will learn different techniques to deal with it in detail.
Duration: 3 days
Details
- ES5
- History of JavaScript
- Primitive types, operators
- Objects, arrays
- Program flow control, error handling
- Function, this, and arguments
- Prototypical inheritance
- ES6 (ES2015)
- JavaScript design process
- ES6, code transcompilation, polyfills
- Default argument values
- Object literal extensions
- Template literals
- Let, const
- Spread/rest operator
- Destructuring
- Iterators, Generators
- Modules, classes
- New JavaScript elements (ES next)
- Spread/Rest operator for objects
- Async/await
- Asynchronous iterators/generators
- TypeScript
- Optional typing
- Functions
- Interfaces
- Intersection & union Types
- Nullable types
- String literal types
- Discriminated unions
- Classes
- Generic types
- Declaration files
- Decorators
- Duck typing
- Functional Programming
- Imperative vs declarative Programming
- Object-Oriented vs functional code organization
- Higher-Order functions, first-class functions
- Lazy evaluation, sequences vs. collections
- Immutable Programming
- Algebraic data types, records
- Pattern matching
- Side effects, pure functions
- Optional data types
- Asynchronous and Reactive Programming
- Callbacks, continuation-passing style, async.js
- Promise, Async/Await
- Observable
- Reactive programming with RxJS
- Asynchronous iterators/generators
- Selected elements of Node.js, Angular, React.js