Essential
- Basics of computer science
Recommended
- Git and github
- Problem solving
- Internet and web
Legend
- Basic programming node ( just look briefly through it if you have experience )
- Javascript specific ( important javascript specific concept )
- high priority
- Links ( links )
- Js being weird
- How to learn from this roadmap
- Learning is a marathon
- What can you use it for
- History of javascript
- Javascript for haters
- Where you can run javascript
- Browser
- Nodejs
- Something VERY IMPORTANT about javascript ( explain how weird all there envs are )
- Javascript is NOT Nodejs
- Javascript is NOT Ecmascript
- 2.1 Variables
- Datatypes
- Primitives
- Non-primitives
- Immutability
- Why I lost a hackathon
- Declarations - const, let, var
- Hoisting
- Scopes
- Truth about js variables
- Type casting
- implicit casting
- explicit casting - casting functions
- Datatypes
- Basic control flow
- If statement
- switch statement
- mapping
- 2.2 Functions
- "Classic" functions
- Arrow functions
- Function Expressions vs Function Declarations
- IIEF
- Callbacks
- 2.3 Loops
- for / while
- for of
- for in
- break / continue
- 2.4 Data manipulation functions
- Map
- filter
- reduce
- forEach
- splice
- slice
- 2.5 Equality comparions
- == and ===
- isEqual
- isLooselyEqual
- They are all floats...
- isNan
- 2.6 Basic frontend javascript
- Document and window
- Understanding the dom
- Interacting with DOM
- Node vs element
- Node attributes
- Node properties
- Search methods
- Node size, scrolling and coordinates
- Browser events
- Event listeners
- Alerts
- e object
- dispatching custom events
- mouse events
- keyboard events
-
Objects
- About objects and js
- Everything in javascript is an object
- The "new" operator
- Objects references / copying
- Garbage collection
- Conversion to primitives
-
Data structures
- JSON
- Map
- WeakMap
- Set
- WeakSet
- Object Keys
- Rest parameter
-
"this" keyword
- In arrow functions
- In normal functions
- In objects
- In global scope
- binding
- call
- apply
- bind
-
Prototype
- Prototypes explained
- Prototypal inheritance
- Object prototypes
- Function prototypes
- ?? ( nullish coalescence )
- !! ( double bang )
- destructuring ( spread operator )
- optional chaining .?
- inline if
- template literals
- Javascript weirdness
- Use strict
- Ninja code ( must read !! )
- Common standards
- Good practices
- Use a typing system
- Common js
- ES6
- Closures
- Design patterns
- Patterns
- Strategy
- Decorator
- Observer
- Factory
- Adapter
- Proxy
- Monad
- Resources
- Video course
- Ukrainean website
- Design patterns for humans
- Patterns
- Javascript Event loop
- Asyncronous javascript
- Fetch api
- Callback hell
- Promises
- async/await
- setTimeout
- setInterval
- Promisyfing a function
- Symbols
- Iterators
- Generators
- Advanced frontend specific concepts
- Web workers
- Dev tools
- Performance improvements techniques
- Browser storage
- Frontend development roadmap
- Typescript
- JSDoc
- Frontend development roadmap
- Backend development roadmap
Concepts worth checking *