What to learn before learning a JavaScript framework?
JavaScript has a framework for almost any kind of development- be it web, mobile or even desktop, JavaScript has a framework for everything. Thus, naturally, a lot of people want to learn these frameworks as quickly as they can and while they do that, they tend to forget that vanilla JavaScript, which is a fancy term of JavaScript with no frameworks is very capable on its own. So, while it's highly recommended to learn and master a framework, learning JavaScript just beyond the basics is also very important.
The ES6 update to JavaScript in 2015 has been the biggest JS update till now. It fixed a lot of things and also added tons of new features. Learning ES6 has thus become a necessity for any JS developer. Let’s look at what JS features one should focus on before learning a framework. We will also be adding some resources to help you learn these.
1. All the essentials
This is a no brainer, you need to learn all the fundamentals and basics of any language first.
- Syntax
- Variables
- Data Types
- Arrays and Objects
- Events and handling them
- Functions
- Loops
- Conditional statements (if-else)
2. Classes
Classes are most commonly used in any JS framework like react and learning them is also essential.
- Classes Basics
- Constructors
- Methods
- Prototype
- Prototypal Inheritance
- Extends Keyword
3. Arrow Functions (ES6)
Arrow functions provide a shorter syntax for writing regular functions. They are compact and also give scope advantages in certain situations
- Looks much cleaner
- Modern JS standard
- Scope and “lexical this”
4. Asynchronous JS
JS by nature is non-blocking or asynchronous, meaning it does not wait for one operation to finish before starting another. It can run multiple operations simultaneously
- Advantages of asynchronous programming
- Callbacks (very important)
5. Promises / Async-Await
Promises and asynch-await in JS provide a better solution than callbacks when it comes to asynchronous programming.
- How to create and receive promises
- Basic .then() and .catch() syntax
- Async / Await recommended
6. API Knowledge
You should also have basic API knowledge and should know how to work with them
- REST APIs
- FETCH API
- Learn how to create XHR objects in JS
- Learn how to get data from an external API
- Making HTTP requests
7. Destructuring
Learning how to unpack values from objects and arrays. Used a lot in frameworks and also makes for cleaner, shorter and more manageable code.
8. Special Functions
Functions like forEach(), map(), filter() are very commonly used functions used to iterate through and manipulate data.
- forEach(): Used for basic iteration / looping
- map(): Manipulating data to create a new array
- filter(): Used to filter out an array based on some property
It may seem a lot of vanilla JavaScript but once you learn all this stuff, your life will become a lot easier when you start learning a framework.
USEFUL RESOURCES
- We will be starting with blogs on Medium, where we are planning to make JavaScript related tutorials starting from the very basic and then we’ll gradually increase the complexity.
- Udemy has a lot of good courses for learning modern JS and the course Modern JavaScript from the beginning by Brad Traversy is one of the best courses out there.
- Resources from YouTube — Traversy Media, techsith tutorials, The Net Ninja
- JavaScript references — MDN Reference is the best and the most popular JS reference that developers use. W3Schools is another great reference for JS
JavaScript is the only language that I’m aware of that people feel they don’t need to learn before they start using it.
- Douglas Crockford
Up-next on The Wisdom Codes— Blog on arrays #LearnDSA Series, Blog on basics of JavaScript #LearnJS Series. Stay tuned for more informative content, For any specific information, comment on this post.
Happy Learning!