Advanced JavaScript
Jump to navigation
Jump to search
Advanced JavaScript Training Materials
Advanced JS (2 days)
Copyright Notice
Copyright © 2004-2026 by NobleProg Limited All rights reserved.
This publication is protected by copyright, and permission must be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise.
Expressive JavaScript
- The Flexibility of JavaScript
- JavaScript as a Loosely Typed Language
- Functions as First-Class Objects
- Object Mutability
Functions In Depth
- Function Objects
- Function Literal
- Function Invocation Patterns
- Augmenting Types
- Recursion & Closures
- Functions as Callbacks
- Function Currying & Memorization
Closures In Depth
- How Closures Work
- Private Variables, Callbacks and Timers Binding Function Contexts
- Overriding Function Behavior
Object Orientation With Prototypes
- Object Instantiation
- Constructors
- Inheritance and Prototype Chain
- Extending Object
- Extending Number
- Instantiation Issues
- Wring class-like code
JavaScript Gotchas
- Global Variables
- Scope
- Semicolon Insertion
- Type Coercion
Modular JavaScript
- Techniques for modularizing JavaScript code
Debugging Techniques
- Using “console”
- Developer tools in the browser
- Using breakpoints
- Advanced breakpoints
JavaScript Design Patterns
- Common Design Pattern Implementation Module Pattern
- Revealing Module Pattern
- Observer Pattern
- Factory Pattern
- Decorator Pattern
- Strategy Pattern
- PubSub Implementation
Introduction to Unit Testing in JavaScript
- Overview of Unit Testing Frameworks
- Using Jasmine for Unit Testing
- Builtin matchers
- Covering Before and After
- Using Spies for Mocking
Performance Optimization
- Profiling JavaScript Applications
- Profiling in Chrome
- Profiling in Node.js
- Understanding Performance Bottlenecks
- Techniques for improving Performance
ES6
- New Features in ES6 Overview
- Using Transpilers (BABEL, Typescript)
- Array Functions
- Variable Declarations (let, const)
- Object and Array deconstruction
- Creating Classes & Inheritance
- Generators
- Accessor Methods
- Asynchronous programming using Promises
- Modularity in ES6