Writing the first JavaScript program is easy, but becoming a professional JavaScript architect and developer requires in-depth understanding of the JavaScript language core concepts. Therefore this course does not focus on explaining the JavaScript language basics, but focuses on the JavaScript core concepts, which are:
The JavaScript Inheritance Model
JavaScript Memory Management
JavaScript Iterables Model
JavaScript Currying Model
Array Concepts
JavaScript Generator Functions
The Relationship between JavaScript and JSON
JavaScript Object Protection Model
JavaScript Processing Architecture and Use Of Worker
JavaScript Proxy Architecture
JavaScript Promise Architecture
JavaScript Reactivity Architecture
For all of those topics the course provides a separate chapter, consisting of theoretical explanations of the respective topic, code examples and exercises (where appropriate), together with explanations of main use cases and implementation pattern.
Sometimes initial exercise program stubs are provided by the author and the exercise goal is to fill them with code to achieve specific functional goals. In those cases the source code for the initial stub as well as the final solution created by the author are provided.
The authors goal is to provide substantial information enabling the reader to use the described concepts for designing and implementing state of the art JavaScript applications.
The following tools were used by the author and are recommended to be used by the reader for practical exercising:
Google Chrome Version 103 (readers can use alternative web browsers, if they are supporting the same level of ECM JavaScript version than the Google Chrome V8 machine is doing).
Microsoft Visual Studio Code with Live Server extension
Node JS version 16.15