- Variables and data types
- Mathematical operators and type conversion
- Logical operators
- Branching and conditional operators
- Built-in functions for user interaction
- Methods for working with arrays
- For and while loops
- Nested Arrays
- Working with the console
Module 3 Functions
- Definition of a function. Arrow function and its differences from a regular function. Function Expression and Function Declaration.
- Scope. How it works. LexicalEnvironment.
- Timers and closures. Functions setInterval, setTimeout, clearInterval, clearTimeout. What closure is and how it can be used.
- Callback functions
Module 4 Objects. DOM. Events
- Objects and dictionaries. How to create objects. The keyword this. Getting, changing and deleting object properties. References to objects.
- Prototype inheritance. How inheritance of properties and methods works. Constructors.
- Classes. Defining classes and the benefits of using them. Extending classes. Private methods and public methods. Getters and setters. Example of creating a program using classes and MVP architecture.
- DOM. Object model of a page and why it is needed. Searching for elements on the page and retrieving them. Element enumeration and basic properties.
- Browser rendering. Optimized properties. Function requestAnimationFrame.
- Libraries with animations
- Module 6 Interactive Elements
7 module Node.js.
- Introduction to Node.js. Features of Node.js. Briefly about modules and their purposes: fs, child_process, https.
- NPM. Basic commands of the npm package manager. Project initialization and installation of the first packages. Package.json structure.
- Webpack basics. Why builders are needed and what steps can be automated. First Webpack config and build automation: code minification, module concatenation and using SCSS preprocessor.
- SCSS preprocessor. Advantages of preprocessors. A brief overview of the differences between some: SCSS, SASS, Less, post-css. Basic constructs: variables, mixins, functions.
Module 8 Working with the server
- Promise API
- Server invocation and XMLHttpRequest class
- Fetch method
- Axios library
Module 9 React Fundamentals
- Components and JSX
- Component State
- Component styling
Module 10 TypeScript Fundamentals
- Static Typing
- Interfaces and types
- Enumerated Enum types
Module 11 Overview of the JS Developer Roadmap
Briefly about how to develop further and what to study.