In addition to covering the changes in the ECMAScript 2015 specification, the course provides a brief introduction to Node.js and AngularJS, two popular JavaScript frameworks that are incorporating the changes of ES 6.
Topics
The course covers the following key areas of ECMAScript 2015:
- Major Syntax Changes in ECMAScript 2015
- Iteration and Symbols
- Major API Changes and Additions
- JavaScript Classes
- Asynchronous Programming With Promises
- Introduction to Node.js
- Introduction to AngularJS
What you will learn
Students will complete several lab exercises to apply the techniques covered in discussion and printed materials. After completing this class developers will be able to understand the differences introduced with the ECMAScript 2015 specification.
Audience
Developers, Web Designers.
Prerequisites
Some basic HTML and JavaScript experience is required. Knowledge of an object-oriented programming language is helpful but not required.
Duration
One day
Outline for JavaScript Changes with ECMAScript 2015 Training
Chapter 1. Introduction to ECMAScript 2015
- Overview of ECMAScript
- ECMAScript History
- Features of ECMAScript 2015
- Using ECMAScript 2015
- Using ECMAScript 2015 With Browsers
- Transpiling
- Summary
Chapter 2. Major Syntax Changes in ECMAScript 2015
- Major Syntax Changes
- let and const
- Variable Scope
- Shadowing Variables
- Arrow Functions
- Arrow Functions As Parameters
- Using 'this' Within Arrow Functions
- Template Literals
- Spread Operator
- Rest Parameter
- Binary and Octal Literals
- Summary
Chapter 3. Iteration and Symbols
- Symbols and New Iteration Features
- Symbols
- Using Symbols
- Accessing Symbol Properties
- Built-in Symbols
- New Iteration Protocols
- Implementing Iterators and Iterables
- Using an Iterator: next or 'for...of' Loop
- Generator Functions
- Generator Example
- Controlling Generator Execution - next(value)
- Controlling Generator Execution - return(value)
- Controlling Generator Execution - throw(exception)
- Generator Recursion With 'yield*'
- Tail Call Optimization
- Summary
Chapter 4. Major API Changes and Additions
- Major API Changes and Additions
- New String Methods
- Number API Changes
- Numeric Rounding
- New Math Methods
- Array API Changes
- New Array Instance Methods
- New Collections
- Creating Maps and Sets
- Map and Set Methods
- Summary
Chapter 5. JavaScript Classes
- JavaScript Object Oriented Model
- JavaScript Inheritance
- Problems With Typical JavaScript OO Code
- ES6 Classes
- Declaring Classes
- Declaring Instance Methods
- Accessor Methods
- Static Methods
- Inheritance With Classes
- Summary
Chapter 6. Asynchronous Programming With Promise
- Typical Asynchronous Programming
- Using Callbacks
- Problems With Traditional Asynchronous Code
- Promises
- Creating a Promise
- Example Promise
- Creating a Promise From a Value
- Consuming a Promise
- Alternate Ways to Consume a Promise
- Promise State
- Chaining Promises
- Composing Multiple Promises
- Summary
Chapter 7. Introduction to Node.js
- What is Node.js?
- Application of Node.js
- Installing Node.js and NPM
- "Hello, Node World!"
- How it Works
- Built on JavaScript – benefits
- Traditional Server-Side I/O Model
- Disadvantages of the traditional Approach
- Event-Driven, Non-Blocking I/O
- Concurrency
- Using Node Package Manager (NPM)
- Express
- Summary
Chapter 8. Introduction to AngularJS
- What is AngularJS?
- Why AngularJS?
- Scope and Goal of AngularJS
- Using AngularJS
- A Very Simple AngularJS Application
- Building Blocks of an AngularJS Application
- Use of Model View Controller (MVC) Pattern
- A Simple MVC Application
- The View
- The Controller
- Data Binding
- Basics of Dependency Injection (DI)
- Other Client Side MVC Frameworks
- Summary
Lab Exercises
Lab 1. ECMAScript 2015 Language Features
Lab 2. Iteration Features
Lab 3. Work With New APIs
Lab 4. Use Classes
Lab 5. Use Promise API