Which JavasSript Frameworks should I learn for 2018?

  1. You should learn JavaScript well and not only some basics. This includes also the new features of ES6/2015+. Have a look at Eloquent JavaScript and the You Don’t Know JS series and check if you know what is in there. If not, learn it from there. Some people will tell you that JavaScript is easy or you don’t need to learn it deeply, but this is simply wrong. In the details JavaScript becomes a very complex and complicated language, so you should know about it.
  2. Checkout MarkSheet and the Mozilla Developer Network. If you don’t know what is in there, learn it.
  3. Have a look at jQuery. Go to their learn center and check if you know what is in there already, if not, learn it from there. Some people will tell you that jQuery is deprecated. While that may be true or not it is still very widely used, has a rich ecosystem, and knowing what it does and how it works is worth if only for why now frameworks are such a hype.
  4. If you don’t know about version control and the build tools for the modern web you need to get some basic knowledge of them now. For version control start with Git (see the guides both at Git and GitHub). For build tools see GulpYarn, and Webpack. You don’t need to master these tools at the beginning, but you need to know enough to get along.
  5. Last but not least have a look at the frameworks. There are a lot out there, but for the beginning you can reduce it to two candidates you should have a look at: React and Vue. Look at both their pages and get some very basic knowledge about them. Also look up how jobs for both respective frameworks are in your area. Then choose one of them and learn it. Vue is much easier to get into and I don’t see any major downside to it. However, at the moment, in most places jobs for React are much more than for Vue. You could also have a look at js here. It is still very widely used and supported, but I would not recommend it, because its successor was already released.
  6. Speaking of the successor of Angular.js, which is Angular 2+. Some people will find it wired that I did not mentioned it in the point before. The reason for that is, that Angular is much more complex than React, Vue, and Angular.js (don’t be fooled by the similar name, they don’t share much more than it) and it does not use JavaScript as its language, but TypeScript, which you should learn before you look at Angular. If the job prospects for React and Vue are very bad in your area you’ll skip the point before and jump to this one. This is not ideal, but I guess you want to earn money.
  7. Learn about testing or test driven development and implement it. If you don’t, your software will always be a mess. Take a look at JestMocha, and Jasmine and choose one.

Kyle Simpson - Javascript Foundations

https://frontendmasters.com/courses/javascript-foundations/

for(var i=1;i<=5;i++){
    setTimeout(function(){
        console.log("i :" + i);
    },i*1000);
}

for(let i=1;i<=5;i++){
    setTimeout(function(){
        console.log("i :" + i);
    },i*1000);
}

for(var i=1;i<=5;i++){
    (function(i){
        setTimeout(function(){
            console.log("i :" + i);
        },i*1000);
    })(i);
}

for(var i=1;i<=5;i++){
    let j=i;
    setTimeout(function(){
        console.log("j :" + j);
    },j*1000);
}

Module pattern

var foo=(function(){
    var publicAPI={
        bar: function(){
            publicAPI.baz();
        },
        baz: function(){
            console.log("baz");
        },
    };
    return publicAPI;
})();
foo.bar();

Kyle Simpson - Source code

https://frontendmasters.com/assets/kyle-simpson/js/deep-js-foundations.zip

You Don't Know JS: Up & Going

Table of Contents

You Don't Know JS: Scope & Closures

Table of Contents

You Don't Know JS: Types & Grammar

Table of Contents

You Don't Know JS: Async & Performance

Table of Contents

You Don't Know JS: ES6 & Beyond

Table of Contents