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
Keyword
Course #
State

 Training Delivery
 
Training Delivery
Custom Curriculum
Course List
 
 Main Menu
 
Home
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.