First of all, let this book (JavaScript Succinctly) your reference for how the object works and some weird topics about JavaScript.
Listed below some general basic topics about JavaScript. All JavaScript (or Frontend) developers must know.
My goal is to keep this document as minimal as I can and keep it reach with keywords, links and a very small snippet of code.
Note: These are some topics in my head, I just need to list them. they're not well organized, but I'll keep maintain and modify this file.
If you have any concern, or you found something wrong, I really appreciate any comment or add.
- Context Vs. Scope.
- Most common JavaScript design patterns.
- Module: loose coupling code (libs).
- Prototype.
- Observer (pub/sub).
- Singleton.
- IoC (dependency injection): how InversifyJS is working.
- Closure in JavaScript.
- this in JavaScript.
- JavaSctipt Prototype/Constructor function.
- how JavaScript create objects (ECMA6 class, typescript)
- Prototypical Inheritance. Don't confuse between Protoype and Prototypical Inheritance.
- Event delegation
- ECMAScript 6 new features, (let, const, arrow, spread operator, and more).
- Threading (Asynchronous programming).
- JavaScript on Server. Why JavaScript is so powerful to be used on servers (NodeJs)? because the nature of JavaScript (single threaded and non-blocking).
- Callback and promises.
- Hoisting.
- JavaScript workers.
- IIFE.
- event capturing/bubbling.
- Event delegation.
- Session VS local Storage, cookies, JavaScript cashing. When to use each of them.
- JavaSctipt annotations.
- Progressive Web.
- Rxjs (library).
- Grunt.
- webpack.
Angular Topics:
- It’s very important to read this overview of the architecture of angular2.
- HTML5 forms, and special directives from Angular2 in forms (https://angular.io/guide/reactive-forms).
- Write reusable angular2 code services, components, directives and even Angular2 Module, when to use any.
- Angular2 routing, child routes.
HTML:
CSS:
- css flexbox.
- write responsive ui (using media query or whatever to write ui fits on different screen sizes).
- ui animations.
- write SEO familiar html.
- Css new features.
- SASS and LESS.
General:
- find the best naming convention for (variables, URLs).