Advanced JavaScript Workshop with Damjan Vujnovic

  5 days


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 hands-on JavaScript workshop you will learn how to write good code (by employing its good features and avoiding quirks and common pitfalls)
Join Damjan Vujnovic for this Advanced JavaScript Workshop

This course is run virtually over 5 half‑day sessions.

Our virtual courses offer the same expert-led, hands-on experience we've offered since 2013 — accessible from the comfort of your own home (office).

Join Damjan and participants from around the globe in a virtual classroom where you'll utilise collaboration tools like Zoom and Slack to start mastering JavaScript..

Online Courses for Software Professionals at Skills Matter

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 code.

Get acquainted with functional programming concepts.

Apply asynchronous and event-driven patterns.

About the Author

Damjan Vujnovic

With over a decade of experience working on domains within a variety of industries – including financial, government and social – Damjan Vujnovic is a strong authority on simplifying development processes to create robust software applications.

Available dates

Dates coming soon

Can't make it on any of these dates?
Our team is happy to discuss other options with you.
Contact us at and mention ref: JSADV-DV-02.
Private tuition and large-group discounts are also available. Find out more here.

Who should take this workshop?

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.

Workshop Outline

Modules/topics covered

  • Introduction to unit testing (Jest)
  • const & let
  • Template strings
  • Objects
    • object literal
    • shorthand method/property names
    • getters and setters
    • computed property names
    • retrieving property value
    • destructuring and rest operator
    • default & guard operators
    • updating properties & property attributes
    • property enumeration
    • removing properties
    • immutable objects
    • spread operator
  • Functions
    • function literal
    • function expression vs. function declaration
    • arguments
    • default arguments and rest parameters syntax
    • destructuring arguments
    • arrow functions
    • invocation patterns
    • return
    • prototype
  • Arrays
    • array literals
    • destructuring and spread operator
    • enumerating arrays
    • transform arrays using Array.prototype.filter, & co
    • “fold” arrays using Array.prototype.reduce
  • Functions, part two
    • lexical scope
    • closure
    • higher-order functions
    • Function.prototype.bind
    • currying and partial application
    • composability and functional composition
    • pointfree
  • Unit testing asynchronous code
  • OOP
    • constructor and factory functions
    • classes
    • inheritance
    • mixins
  • Asynchronous programming patterns
    • callbacks
    • promises
    • observable

Advanced JavaScript Workshop with Damjan Vujnovic
Dates coming soon