Highlights
- Transition from JavaScript to ECMAScript 6 (2015) and 2016
- Maximise reusability with modules, classes and inheritance
- Simplify asynchronous programming with Promises
- Leverage ECMAScript server-side with Node.js
- Build end-to-end, enterprise applications using ECMAScript
- Transpiling and debugging ES2015 code
- Replacing anonymous functions with arrows
- Converting asynchronous callbacks to Promises
- Encapsulating functionality with modules
Course Details
Introduction and Overview
- Revisiting JavaScript history
- Incorporating ECMAScript new versions and features
- Mapping TC39 release stages
- Moving ECMAScript to the server
Pushing Javascript Further
Exploring JavaScript language features
- Programming with a weakly typed language
- Exploiting JavaScript's dynamic nature
- Working with strings, numbers, dates, arrays
Developing Functional JavaScript Code
- Comparing function definitions vs. function expressions
- Manipulating function callbacks
- Passing functions as arguments
- Immediately invoked function expressions
- Understanding closures
Building JavaScript objects
- Coding object literals
- Adding properties and methods to objects
- Instantiating objects with constructor functions
- Defining prototype methods
- Serialising data with JSON
- Requesting services with XMLHttpRequest
Moving Forward to ECMAScript 2016
Writing ECMAScript that runs everywhere
- Transpiling ECMAScript with Traceur and Babel
- Exploring transpiled code
- Ensuring best practices with strict mode
Simplifying variables and strings
- Declaring block scope variables with let
- Programming constants
- Exploiting new string methods
- Formatting output with template literals
Managing collections of data
- Taking advantage of new array methods
- Enumerating collections with iterators
- Manipulating data with sets and maps
- Producing iterable data with generators and yield
Streamlining functional programming with ES6
- Making asynchronous programming easier with promises
- Defining arrow functions
- Passing arrow functions as callbacks
Object-Orientation
Classes and Inheritance
- Defining classes
- Adding properties and methods to classes
- Simulating private state with WeakMap
- Creating unique property keys with symbols
- Coding getters, setters and constructors
- Extending classes with inheritance
Reusing JavaScript
- Defining modules
- Exporting and importing classes and functions
- Importing module functionality
Server Side ECMAScript
Building applications for Node.js
- Installing Node.js
- Setting up a Node.js development environment
- Managing packages with npm
- The build process with webpack
Web services
- Creating Node.js web applications with Express
- Exposing RESTful services
- Calling Node.js services
Accessing stored data
- Processing NoSQL data with MongoDB
- Providing relational database data
Enterprise Class ECMAScript
Deploying quality code
- Unit testing ECMAScript with Jest
- Integrating code quality and analysis tools
Publishing ECMAScript applications
- Minimising download size with tree-shake
- Integrating resource hashes for cache-busting
Who should attend
Feedback
4.8 out of 5 average
"Our tailored course provided a well rounded introduction and also covered some intermediate level topics that we needed to know. Clive gave us some best practice ideas and tips to take away. Fast paced but the instructor never lost any of the delegates"
Brian Leek, Data Analyst, May 2022
“JBI did a great job of customizing their syllabus to suit our business needs and also bringing our team up to speed on the current best practices. Our teams varied widely in terms of experience and the Instructor handled this particularly well - very impressive”
Brian F, Team Lead, RBS, Data Analysis Course, 20 April 2022