More Information
Learn
  • Learn JavaScript, ES6, NPM, Webpack, Babel, Node, and React by solving lots of challenges with real-world scenarios
  • Each challenge has a task and solution. And all of them are available in the GIT repositories that you will download at the beginning of the course
  • Learn all fundamental features of JavaScript, starting with basic concepts such as variables, objects, functions, scopes, and operators and finishing with advanced topics as closures, hoisting, IIFEs (Immediately Invoked Function Expressions), classes, and many more
  • Learn and understand ES6 features such as arrow functions, destructuring, default function parameters, template literals, array helper methods, and classes
About

This course covers everything you need to know about JavaScript to become a frontend web developer, a full-stack web developer, or a backend developer. You'll start from the very beginning and learn the fundamentals and basic concepts of JavaScript. Then you will learn new features included in ES6, ES7, and more. Also, you'll explore the Node.js environment for JavaScript code execution and you will understand the difference between a web browser and Node.js.

In separate sections, we will discuss Babel, NPM, Webpack, and MongoDB. Also, you will master the most popular JavaScript framework: React. JavaScript Bible – JavaScript and ES6 Bootcamp 2019 was designed for developers with different levels of JavaScript knowledge. If you are a beginner in JavaScript, start with the very first section called JavaScript Basics. If you have some experience with JavaScript, jump directly TO the sections where I cover ES6 topics such as REST/spread parameters, arrow functions, ES6 Classes, and more. By the end of the course, you'll have hands-on experience in developing WITH JavaScript and in front-end development.

This course covers everything you need to know about JavaScript and become either Frontend Web developer, or Full-stack Web Developer, or Backend developer.

We will start from the very beginning and you will learn the fundamentals and basic concepts of JavaScript. Then you will learn new features included in ES6, ES7, etc. Also, we will dive into the Node.js - environment for JavaScript code execution and you will understand what is the difference between Web Browser and Node.js. In separate sections, we will discuss Babel, NPM, Webpack, and MongoDB. Also, you will learn the most popular JavaScript framework - React.

JavaScript Bible was designed for developers with different levels of JavaScript knowledge. Each challenge has a task and solution in separate Git branches.

All the code and supporting files for this course are available at - https://github.com/PacktPublishing/JavaScript-Bible---JavaScript-and-ES6-Bootcamp-2019-

Features
  • Understand the proper methods for working with arrays: map, forEach, reduce, filter, and includes
  • Understand the purpose of the Node Package Manager (NPM)
Course Length 38 hours 27 minutes
ISBN 9781839211782
Date Of Publication 8 Aug 2019
VIDEO - forEach() Overview
PRACTICE - forEach()
CHALLENGE 3-1 - forEach() with Index
✔ CHALLENGE 3-1 - forEach() with Index - SOLUTION
VIDEO - map() Overview
PRACTICE - map()
CHALLENGE 3-2 - map() JSON to Object
✔ CHALLENGE 3-2 - map() JSON to Object - SOLUTION
VIDEO - filter() Overview
PRACTICE - filter()
VIDEO - find() Overview
PRACTICE - find()
CHALLENGE 3-3 - find() Single Post
✔ CHALLENGE 3-3 - find() Single Post - SOLUTION
VIDEO - every() and some() Overview
PRACTICE - every() and some()
CHALLENGE 3-4 Is Array of Numbers Sorted?
✔ CHALLENGE 3-4 Is Array of Numbers Sorted? - SOLUTION
CHALLENGE 3-5 Are Arrays Equal or not?
✔ CHALLENGE 3-5 Are Arrays Equal or not? - SOLUTION
CHALLENGE 3-6 Check if Element is in Array
✔ CHALLENGE 3-6 Check if Element is in Array - SOLUTION
VIDEO - includes() Overview
PRACTICE - includes()
CHALLENGE 3-7 Includes() with Array or Object
✔ CHALLENGE 3-7 Includes() with Array or Object - SOLUTION
CHALLENGE 3-8 Push Element to Array if Not Exists
✔ CHALLENGE 3-8 Push Element to Array if Not Exists - SOLUTION
VIDEO - reduce() Overview
PRACTICE - reduce()
CHALLENGE 3-9 Reduce Array of Objects
✔ CHALLENGE 3-9 Reduce Array of Objects - SOLUTION
CHALLENGE 3-10 Reduce Array of Objects to Object
✔ CHALLENGE 3-10 Reduce Array of Objects to Object - SOLUTION
VIDEO - Do you know how sort() works?
VIDEO - Sorting Algorithms Overview
VIDEO - Stable vs Unstable Sort
VIDEO - sort() Overview
VIDEO - sort() without Arguments
VIDEO - sort() Analyze sorting algorithms
VIDEO - sort() Algorithms in different browsers
CHALLENGE 3-11 sort() Array of objects
✔ CHALLENGE 3-11 sort() Array of objects - SOLUTION
CHALLENGE 3-12 sort() Long Array of objects
✔ CHALLENGE 3-12 sort() Long Array of objects - SOLUTION
VIDEO - sort() Summary
VIDEO - Array helper methods Summary
VIDEO - Class-based vs Prototype-based
VIDEO - What is inheritance?
VIDEO - Prototype Chain
VIDEO - __proto__ and [[Prototype]]
VIDEO - What is Prototype?
VIDEO - Don't reassign __proto__
VIDEO - Native Prototypes - PART 1
VIDEO - Native Prototypes - PART 2
VIDEO - Prototypal Inheritance in JavaScript
PRACTICE - Function Constructors - PART 1
VIDEO - Function Constructors Overview
PRACTICE - Function Constructors - PART 2
PRACTICE - Function Constructors - PART 3
VIDEO - Object.create() Overview
PRACTICE - Object.create()
PRACTICE - Function Constructors - PART 4
VIDEO - Function Constructors - New Prototype in the Chain
CHALLENGE 7-1 Insert Prototype into the Existing Prototype Chain
CHALLENGE 7-1 Insert Prototype into the Existing Prototype Chain - SOLUTION
VIDEO - "instanceof" and "typeof" in the Prototype Chain
CHALLENGE 7-2 Fix Mistakes in the Function Constructors
CHALLENGE 7-2 Fix Mistakes in the Function Constructors - SOLUTION
VIDEO - Classes - Overview
VIDEO - Classes vs Function Constructors
PRACTICE - Classes - PART 1
PRACTICE - Classes - PART 2
PRACTICE - Classes - PART 3
CHALLENGE 7-3 Convert Function Constructors to Classes
CHALLENGE 7-3 Convert Function Constructors to Classes - SOLUTION
CHALLENGE 7-4 Extend Array
CHALLENGE 7-4 Extend Array - SOLUTION
CHALLENGE 7-5 Custom Push Method for Arrays
CHALLENGE 7-5 Custom Push Method for Arrays - SOLUTION
VIDEO - React and ES6 Classes
CHALLENGE 7-6 Classes in React - Additional Button
CHALLENGE 7-6 Classes in React - Additional Button - SOLUTION
VIDEO - Introduction to the NPM
PRACTICE - Exploring NPM packages
VIDEO - Package.json and init
VIDEO - Semantic Versioning
VIDEO - Packages Installation
PRACTICE - Install package in the project
CHALLENGE - Install Semver package
✔ CHALLENGE - Install Semver Package - SOLUTION
PRACTICE - Install Browserslist - package with own dependencies
VIDEO - Dependencies and Development Dependencies
PRACTICE - Examine Development Dependencies
PRACTICE - Browser App vs Server Package
CHALLENGE - Clock Browser Application
✔ CHALLENGE - Clock Browser Application - SOLUTION
VIDEO - Clock Challenge Summary
VIDEO - Browser App vs Public Package
PRACTICE - Exploring Package Information and Versions
PRACTICE - Installing Specific Package Version
VIDEO - Why package-lock.json file is needed?
CHALLENGE - Reinstall old package version without lock file
✔ CHALLENGE - Reinstall old package version without lock file - SOLUTION
VIDEO - How lock file is handled
VIDEO - Lock file summary
VIDEO - Update NPM packages overview
CHALLENGE - Update project dependencies
✔ CHALLENGE - Update project dependencies - SOLUTION
VIDEO - Introduction to the NPM scripts
PRACTICE - Start npm script
CHALLENGE - Create prestart script
✔ CHALLENGE - Create prestart script - SOLUTION
PRACTICE - Custom NPM scripts
CHALLENGE - Run NPM scripts simultaneously
✔ CHALLENGE - Run NPM scripts simultaneously - SOLUTION
VIDEO - NPM .bin Folder with Executable Scripts
PRACTICE - Explore .bin Folder on the Mac
PRACTICE - Explore .bin Folder on Windows
VIDEO - NPM Scripts Wrap-Up

Authors

Bogdan Stashchuk

Bogdan Stashchuk is a software engineer working as a full-stack web developer. He has been teaching students for more than 20 years. Bogdan has experience in explaining difficult things in an easy-to-understand format with interesting practice activities. With his expertise and knowledge, he enables his students to not only learn but also retain the knowledge they’ve gained for a longer period.