about banner

  • This workshop teaches the participants how to take advantage of some of the advanced features offered by JavaScript for building better maintainable applications large scale applications. It also introduces some of the frameworks that can assist in this process.
At the end of this training course, the participants will:
  • Understand and appreciate the dynamic typed nature of JavaScript language
  • Be able to understand the exploit some of the functional programming techniques in JavaScript
  • Understand and resolve scope issues in JavaScript
  • Techniques for modularizing JavaScript code
  • Know how to modularize and loadJavaScript files using Require.js
  • Be aware of some of the quirks in the JS language
  • Be able to use Handlebar templates for UI templating
DAY WISE SYLLABUS 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
  • Writing class-like code
JavaScript Gotchas
  • Global Variables
  • Scope
  • Semicolon Insertions
  • Type Coercion
Using Templates
  • Avoid string concatenation for dynamic generation of UI
  • Template syntax
  • Exploring Handlebar.js
  • Binding data to templates
  • Using pre-compiled templates
Modular JavaScript
  • Techniques for modularizing JavaScirpt code
Debugging Techniques
  • Using “console”
  • Developer tools in the browser
  • Using breakpoints
  • Advanced breakpoints
JavaScript Design Patterns
  • Common Design Pattern Implementations
  • Model View Separation
  • 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
Karma Test Runner
  • Overview
  • Configuration
  • Auto watching
  • Configuring Browsersc
  • New Features in ES6 Overview
  • Using Transpilers
  • Array Functions
  • Variable Declarations (let, const)
  • Creating Classes
  • Accessor Methods
  • Modularity in ES6