Course Overview
Course Duration: 3 days
The JavaScript 2 course comprises sessions dealing with values and references, strict mode, arrays, scope, objects, asynchronous JavaScript, unit testing and ECMAScript version 6.
Read More
The delegate will learn about the inner workings of the JavaScript language to better enable them to write complex code and to troubleshoot.
Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.
The delegate will learn and acquire skills as follows:
• Working with primitive and reference variables
• Testing for equality
• Coding in strict mode
• Working with associative arrays
• Determining and affecting the scope of a variable
• Making changes to a constructor function’s prototype
• Determining an object’s prototype chain
• Exploiting inheritance and polymorphism
• Encapsulating a class using the Revealing Module pattern
• Declaring a static class using the Singleton pattern
• Coding asynchronously
• Unit testing
• Coding in ECMAScript version 6 (ES2015)
Who will the course benefit?
The JavaScript 2 course is designed for JavaScript developers who want to know more about the inner workings of the language so as to better equip themselves to write complex code and to troubleshoot.
The course will also benefit those JavaScript developers who are familiar with JavaScript as it relates to ECMAScript version 5, and want to learn about what’s new in ECMAScript version 6 (ES2015).
Read Less
Entry Requirements
Delegates should be able to build JavaScript applications that exploit all fundamental elements of the language including variables and expressions, conditions and loops, functions, objects, arrays, the DOM, and event handling.
This knowledge can be obtained by attendance on the pre-requisite JavaScript 1 course.
Pre-requisite Courses
• JavaScript 1
Follow-on Courses
• jQuery Web Development
• Bootstrap
• Angular Development
• Aurelia Framework
Notes
• Course technical content is subject to change without notice.
• Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.
Exam
There is no exam requirement for this course.
Course Objectives
This course aims to provide the delegate with the knowledge to be able to interpret, write, and troubleshoot complex JavaScript code exploiting strict mode, closures, IIFEs, the prototype chain, design patterns, asynchronous JavaScript, and ES6.
Syllabus – Key points
Course Contents – DAY 1
Course Introduction
• Administration and Course Materials
• Course Structure and Agenda
• Delegate and Trainer Introductions
Session 1: VALUES & REFS
• Primitive and Reference Types
• Equality Tests
• Deletion and Dereferencing
• Undefined, null, and NaN
Session 2: STRICT MODE
• What is Strict Mode
• Invocation
• Mistakes to Errors
• Variable Simplification
• Eval
• Security
Session 3: ARRAYS
• Associative Arrays
• for vs. for in
• delete and length
Session 4: SCOPE
• Hoisting (Review)
• Lexical Scope
• The Scope Chain
• Closures
• IIFEs
Course Contents – DAY 2
Session 5: OBJECTS
• Property Deletion
• The this Keyword
• The call, apply, and bind Functions
• Prototypes
• The Prototype Chain
• Inheritance
• Overrides
• Polymorphism
• Encapsulation
• Public, Private, and Privileged Properties
• The Revealing Module Pattern
• Static Properties and Classes
• The Singleton Pattern
Session 6: ASYNCHRONOUS JAVASCRIPT
• Synchronous vs. Asynchronous
• setTimout
• AJAX
• Callbacks
• Common Problems
• Async.js
• Promises (ES6)
Course Contents – DAY 3
Session 7: UNIT TESTING
• What is Unit Testing
• Test Driven Development
• Unit Testing with Jasmine
Session 8: ES6 (ES2015)
• Multi-line Strings
• Template Literals
• Default Parameters
• Block-level Scope
• Maps and Sets
• Classes and Modules
• Arrow Functions
Tyler | Trainee Software Engineer –
For what I expected this course to be, I was pleasantly surprised with the content and quality of the course, along with the tutoring from the trainer.