Advanced JavaScript
JavaScript is a core programming language for web technology that can be used to modify both HTML and CSS. It is frequently abbreviated to just JS. JavaScript is used for processes that are used in the user interfaces of most web browsers, such as Internet Explorer, Google Chrome, and Mozilla Firefox. It is the most preferred client-side scripting language today, due to its ability to make the browser do its work.
This is a two-day course that will provide you with a deep understanding of JavaScript. You will learn how to write JavaScript in a professional environment using the new JavaScript syntax in ES6, leverage JavaScript’s asynchronous nature using callbacks and promises, and gain an understanding of how to set up test suites and test your code. You will be introduced to JavaScript’s functional programming style and you will apply everything learned to build a simple application in various JavaScript frameworks and libraries for backend, frontend, and mobile developments.
If you are interested in gaining a good grasp of JavaScript in a systematic and practical way by working through real-world scenarios, then this course is for you.
- This course will enable you to:
- Examine major features in ES6 and implement those features to build applications
- Create Promise and Callback handlers to work with asynchronous processes
- Develop asynchronous flows using Promise chaining
- Manipulate the DOM with JavaScript
- Handle JavaScript browser events
- Configure JavaScript linting and TDD setup
- Create programs that follow the TDD pattern
- List the benefits and drawbacks of functional programming compared to other styles
- Explain function composition and function sequencing in depth
- Construct the Node.js backend framework and the React frontend framework.
- Browser: Google Chrome (latest version)
- Atom IDE
- Babel
- Node.js and npm
Installation and Setup
Before you start with this course, we'll install Atom IDE, Babel, Node.js and npm. You will find the steps to install these here.
Installing Atom IDE
- To install Atom IDE, go to https://atom.io/ in your browser.
- Click on Download Windows Installer for Windows, to download the setup file called AtomSetup-x64.exe.
- Run the executable file.
- Add the atom and apm commands to your path.
- Create shortcuts on the desktop and start menu.
Installing Babel
- Open a command line interface and navigate to a project folder.
- Run the command npm init.
- Fill in all the required default values.
- Run the command npm install --save-dev babel-cli.
- Run the command npm install --save-dev babel-preset-es2015.
- Verify that the devDependencies field in package.json has babel-cli and babel-presets-es2015.
- Create a file called .babelrc.
- Open this file in a text editor and add the code { "presets": ["es2015"] }.
Installing Node.js and npm
- To install Node.js, go to https://nodejs.org/en/ in your browser.
- Click on Download for Windows (x64), to download the LTS setup file recommended for most users called node-v10.14.1-x64.msi.
- Run the executable file.
- Ensure that you select the npm package manager bundle during the setup.
- Accept the license and default installation settings.
- Restart your computer for the changes to take effect.
- OS: Windows 7 SP1 64-bit, Windows 8.1 64-bit, or Windows 10 64-bit
- Processor: Intel Core i5 or equivalent
- Memory: 4 GB RAM
- Storage: 35 GB available space
Lesson One - Introducing ECMAScript 6
Understanding Scope
Declaring Variables
Introducing Arrow Functions
Learning Template Literals
Enhanced Object Properties
Destructuring Assignment
Classes and Modules
Transpilation
Iterators and Generators
Lesson Two - Asynchronous JavaScript
Asynchronous Programming
Callbacks
Promises
Async/Await
Lesson Three -DOM Manipulation and Event Handling
DOM Chaining, Navigation, and Manipulation
DOM Events and Event Object
JQuery
Lesson Four - Testing JavaScript
Testing
Types of Testing
Test Tools and Environments
Lesson Five - Functional Programming
Introducing Functional Programming
Declarative vs Imperative
Pure Functions
Higher Order Functions
Shared State
Immutability
Side Effects
Function Composition
Lesson Six -The JavaScript Ecosystem
JavaScript Ecosystem
Node.js
React