JavaScript: The Good Parts

This course is currently not scheduled on the open calendar, but can be organized on request.

Number of days

1 day(s)


Web developers who want to maximize their JavaScript productivity


Some experience with JavaScript is a plus


Learn how to use the good parts of JavaScript efficiently


Classroom training with hands-on exercises


JavaScript is a powerful language. On the web, it is your only real choice to build a true portable application that works on any browser, any device and any operating system. However, there are some drawbacks! JavaScript does have some very bad features that should not be used. Too often, the language is dismissed because of these bad parts. Many developers have made the mistake of underestimating the language, due to its superficial similarity to mainstream languages such as Java or C#. However, when you see past this, what remains is a very beautiful and exceptionally powerful language. Using Crockford’s “JavaScript: The Good Parts”, this course will teach developers with some existing JavaScript experience what parts to avoid, and what parts to embrace. This will be accompanied by an experienced trainer, helping in-person to really understand the cryptical analysis of the book. This will help tremendously in writing JavaScript applications that use the language to its full potential.


  • JavaScript: The Good Parts
    • Agenda
      • Agenda
    • Introduction
      • JavaScript Programming Language
      • History
      • ECMAScript
      • Version Correspondence
      • Runtimes
      • Performance
      • Platforms
      • JavaScript Issues
      • The Good Parts
    • Objects
      • Object Types
      • Object Literals
      • Object Properties
      • Accessing Properties
      • Guarding Against Undefined
      • Reference Types
      • Prototypes
      • HasOwnProperty
      • Typeof
      • Traversing Properties
      • Boxing Global Variables
    • Functions
      • Object-Functional Language
      • Function Prototype
      • Function Declarations
      • Invocation
      • Methods
      • Functions
      • Constructors
      • Apply
      • Arguments
      • Returning
      • Exceptions
      • Augmenting Types
      • Recursion
      • Scope Hoisting
      • Closures
      • Private Members
      • Memoization
      • Closure Difficulties
      • Callbacks
      • Modules
      • Cascading
      • Currying
      • Interesting Methods
    • Inheritance
      • Inheritance
      • Pseudoclassical Inheritance
      • New
      • Cleaning up Ugliness
      • Disadvantages of Pseudoclassical Inheritance
      • Object Specifiers
      • Prototypal Inheritance
      • Object.create()
      • Functional Inheritance
      • Advantages of Functional Inheritance
      • Parts
    • Arrays
      • Arrays are Objects
      • Literals
      • Length
      • Removing entries
      • Iterating over Arrays
      • Methods
      • Interesting Methods
      • Dimensions
    • Regular Expressions
      • What are Regular Expressions?
      • Keep It Simple
      • Simple Regular Expressions
      • Start and End Matching
      • Choices
      • Classes
      • Escaping
      • Quantifiers
      • Capturing Groups
      • Flags
      • Methods
      • More Advanced Expressions
    • Good Parts and Bad Parts
      • Style
      • Beautiful Features
      • Awful Parts
      • Bad Parts
      • JSLint
    • Conclusion
      • Summary
      • What's next?
      • References