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