JavaScript for Developers

JavaScript Web Programming languages

As Douglas Crockford once said, JavaScript is the world's most misunderstood programming language. It is also one of the world's most popular programming languages and one of the cornerstones of a modern web application development. With web clients becoming thicker and more complex, it is no longer easy to get away with sloppy, ad-hoc JavaScript programming style. In this JavaScript hands-on workshop you will learn how to write good code (by employing its good features and avoiding quirks and common pitfalls).

Learn how to

  • Apply best practices and avoid quirks and common pitfalls
  • Use modern language features
  • Take advantage of JavaScript's functional and dynamic nature
  • Understand lexical scope and closure
  • Unit test JavaScript code
  • Write clean, well-structured, object-oriented code
  • Apply asynchronous and event-driven patterns


  • Introduction to unit testing (Jasmine)
  • Objects
    • object literal
    • default & guard operators
    • updating properties & property attributes
    • property enumeration
    • removing properties
  • Functions
    • declaration hoisting
    • function literal
    • arguments
    • invocation patterns and this
    • return
    • prototype
  • Arrays
    • array literals
    • length & delete
    • for vs. for in
    • arrays vs. associative arrays
    • filter/map/reduce & co
  • Functions, part two
    • lexical scope
    • closure
    • revealing module pattern
    • bind
  • Unit testing asynchronous code
  • OOP
    • constructor and factory functions
    • classes
    • inheritance
    • mixins
  • ES6
    • const & let
    • template strings
    • object literals
    • default parameters
    • fat-arrow functions
    • destructuring objects and arrays
    • spread & rest operator
  • Asynchronous programming patterns
    • callbacks
    • promises
    • observables
  • Functions, part three
    • are first-class
    • partial application

This JavaScript workshop is designed for experienced Web Developers designing, creating and maintaining rich web applications. It will help you tackle the complexity and challenges of the modern Web Development.

To get the most out of the workshop, you should have hands-on experience with JavaScript and be familiar with HTML, DOM, CSS and Ajax.

Labs & Exercises
This workshop is a combination of lectures, discussions and practical exercise

Computer Setup
You need to bring your own laptop with the following installed:

  • Git client
  • NodeJS 8
  • Google Chrome (or any other modern browser)
  • Visual Studio Code (or any other text-editor/IDE)

This is a BYOD (bring your own device) workshop.