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 ModelJavaScript Memory ManagementJavaScript Iterables ModelJavaScript Currying ModelArray ConceptsJavaScript Generator FunctionsThe Relationship between JavaScript and JSONJavaScript Object Protection ModelJavaScript Processing Architecture and Use Of WorkerJavaScript Proxy ArchitectureJavaScript Promise ArchitectureJavaScript Reactivity ArchitectureFor 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 extensionNode JS version 16.15