1. Control Flow
Probably the most basic topic on the list. One of the most important, maybe the most important one. If you do not know how to proceed with your code, you will have a hard time. Knowing the ins and outs of basic control flow is definitely a must.
if else— If you don’t know these, how did you write code before?
switch— is basically
if elsein a more eloquent way, use it as soon as you have multiple of different cases.
for— Do not repeat yourself, this is what loops are for. Besides the normal
for-loop `for of` and
for income in very handy. The big advantage of
for-loops is that they are blocking, so you can use
async awaitin them.
- Advanced conditionals — Using the ternary and logical operators can make your life a lot easier, especially when you try to do things inline, meaning that you don’t want to save values to use them later.
2. Error handling
This took a while for me. It does not matter if you are working on frontend or backend, the first year or so, you will probably default to
console.log or maybe
console.error for ‘handling’ errors. To write good applications, you definitely have to change that and replace your lazy logs with nicely handled errors. You may want to check out how to build your own Error constructor and how to catch them correctly, as well as showing the user what the actual problem is.
3. Data Models
Similar to moving through your application continuously, you have to decide where to group specific information chunks and where to keep them separate. This does not only apply to build database models but also function parameters and objects or variables.
async await in your apps.
5. DOM Manipulation
package.json just to access an element.
6. Node.js / Express
7. Functional Approach
filter `forEach` and `find`.
8. Object Oriented Approach
9. Frontend Framework
The big three are React.js, Angular and Vue.js. If you are looking for a job nowadays, you will almost always have one of those listed as a prerequisite. Even if they change quite quickly, it is important to grasp the general concept of those to understand how applications work. Also, it is just easier to write apps that way. If you haven’t decided which train you want to jump on, my suggestions is React.js. I have been working with it for the last couple of years and did not regret my decision.
10. Bundling / Transpilation
Unfortunately, this is a big part of web development. On the one hand, I should not say unfortunate, because it is great to be able to write code with all the newest features. On the other hand, the reason why I’m saying that is that we always have to keep in mind that there are older browsers around that may not support these features, therefore we have to transpile our code into something else that the old browsers understand. If you work with node.js, you will probably have less exposure to transpiring your code. The de-facto standard for transpilation is babel.js, so get familiar with it. As for bundling your code and tying everything together, you have a couple of options. Webpack was the dominant player for a long time. Some time ago, parcel popped up out of nowhere and is now my preferred solution, since it is so performant and easy to configure, although not perfect.