Knowledge Transfer Microsoft Certified Training Partner CTEC
Knowledge Transfer is a Microsoft Certified Gold Partner
Microsoft Certified Gold Training Partner
Search for a Course Topic:
Public Courses
Corporate Services & Training



 Course Search
Course #

 Training Delivery
Training Delivery
Custom Curriculum
Course List
 Main Menu
View Courses
Site Index

Advanced JavaScript Topics Overview

  • Syntax Idiosyncrasies

    • JavaScript types vs. un-typed expressions

    • Equality: == vs. ===

    • Variables, scope, and how references really work

    • Garbage collection

    • Strings and the string pool

    • Array management, methods, and memory

    • Variable number of function arguments

    • Immediately Invoked Function Expressions

    • The single responsibility principle applied to functions

  • Closures

    • Events and anonymous functions

    • Variable promotion for closures

    • Closures and garbage collection

  • JavaScript is Single Threaded

    • Three phases of a JavaScript program

    • JavaScript blocks DOM rendering

    • Event Handlers must run to completion

    • The code quick and simple

  • Web Workers

    • Offloading tasks to another thread

    • Creating a Web Worker

    • Communication in both directions

  • Objects and Properties

    • Defining objects

    • Extensible properties

    • Defining methods

    • Objects as maps/dictionaries

    • Enumerating object properties

    • Single responsibility and interface segregation for object definitions

  • Constructor Functions

    • Building similar objects

    • Initializing properties with this

    • this details in objects, function-objects, and function calls

    • Defining methods

    • this in methods used as callbacks and binding context objects

    • Using scoped variables for privacy

    • Adding properties to the function-object

    • Inheritance with constructor chaining

    • Overriding methods

  • Prototypes

    • Prototype objects

    • Creating inheritance chains

    • Appropriate inheritance chains and the Liskov substitution principle

    • Following open for extension, closed for modification

    • Object.create

    • Mixins and Object.assign

    • Checking types

    • Combining constructor and prototypal inheritance

    • Overriding prototypal methods

  • Dependency Injection

    • Dependency inversion and inversion of control

    • Constructor injection

    • Property injection

    • Function-objects and toString

    • Injection framework mechanisms

  • Object.defineProperty

    • Advanced property management

    • Defining properties: Object.defineProperty, Object.defineProperties, Object.create

    • Property attributes

    • Property getter and setter methods

    • Freezing and sealing objects

  • Large Project Management

    • RequireJS and dynamic module loading

    • Using Bower to manage dependency modules

  • Development and Deployment Tools

    • What is NodeJS and how does it help me?

    • Deploying Monolithic scripts vs. dynamic modules

    • Building and deployment tools: Grunt, Gulp, RequireJS, and Bowerify


View Printer Friendly Page

To Inquire About Future Classes

Request a class date

if one is not scheduled.