JavaScript Essentials for Modern Web Development

JavaScript Essentials for Modern Web Development

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 3h 55m | 705 MB

Create dynamic and interactive web apps using JavaScript

If you look at almost any web application, it is powered by JavaScript or one of its very popular frameworks like Angular, React, and Vue; but JavaScript continues to be a complex language with a steep learning curve and some areas that even seasoned developers struggle with. This is a practical course with a purpose to provide clarity in areas of the language that are the hardest to understand. You will learn the most important, and also the most commonly-used, language features in a fast-paced learning environment.

You will gain mastery over topics like functional and asynchronous programming, along with module loaders, and package registries. You will transpile code with Babel to support as many browsers as possible. You will spawn child processes and work with web workers to build modern, fast and scalable web applications with JavaScript, both on the server and the browser.

On completion of this course, you will have upgraded your JavaScript skills to the next level while stepping up to become a JavaScript expert. You will be able to code fluently on both the front-end and the back-end while following either the object-oriented or the functional approach.

Please note that prior knowledge of JavaScript and some experience with Node.js are assumed for taking this course.

Learn

  • Catch bugs early by learning about complex concepts that cause errors
  • Take full advantage of JavaScript’s single thread to optimize your code’s execution time
  • Utilize ES6 classes to work better with prototypal inheritance
  • Improve your skills to handle objects with property descriptors
  • Write side-effects-free, functional JavaScript code
  • Refactor old codebases that use callbacks and utilize async/await to maximize code readability
  • Use spawn multiple child processes and web workers to delegate time-consuming operations
  • Use NodeJS Process Manager to efficiently work with multiple services
Table of Contents

Getting Started with JavaScript
1 Course Overview
2 Objects and Types in JavaScript
3 Scopes and Closures
4 Constants and Block Scoped Variables
5 Context and `this`
6 Arrow Functions
7 Prototypal Inheritance
8 Classes
9 Single-Threaded JavaScript

ES2019 and Beyond
10 Object, Keys, Values, and Entries
11 Property Descriptors
12 Array.prototype.includes
13 Asynchronous Iterations
14 Maps and Sets
15 flat and flatMap

Functional and Reactive Programming
16 Introduction to Functional Programming and Reactive Programming
17 Default Arguments and the Spread Operator
18 Functionally Iterating Over Arrays
19 Transforming Arrays Using Array.map()
20 Filtering Data
21 Reducing Arrays
22 Observables and Streams
23 Working with RxJS

Asynchronous Programming
24 Simplify the Callback Hell
25 Using Promises
26 Promisify Callbacks
27 Handling Rejections with Promise.finally
28 Async Functions

Module Systems for One or Multiple Routines
29 Working with CommonJS
30 Using Webpack
31 AMD versus UMD
32 ES6 Modules
33 npm and Yarn
34 Transpiling with Babel

Child Processes and Workers
35 Spawning a Child Process
36 Using the Standard Input and Output
37 Running OS Scripts in Node
38 Inter-Process Communication
39 Web Workers

Node.js Process Management
40 Introduction to PM2
41 Multiple Services
42 Express Servers
43 Installing Middleware
44 Environmental Variables and Databases
45 API Gateways