Javascript ES6
Javascript was initially only limited to the browser running very minimal functions, but today we can use Javascript to even on the backend using execution frameworks like nodeJs.
This is great because you now don't have to master two languages (one for frontend and one for backend) to become a full stack engineer anymore.
While node is not the best on performance on the server side, it can be tuned to be pretty good and will work for most scenarios.
The wide range of open source packages available in npm makes it a really attractive choice for web development.
There are a few crucial language features that you have to learn to write good code both on the frontend and backend.
MDN is overall a good place to learn javascript.
Pay special attention to the features listed below.
DOM manipulation
In website development, DOM stands for Document Object Model. It is a programming interface that allows us to create, change, or remove elements from a website document.
DOM manipulation is when you use JavaScript to add, remove, and modify elements of a website. It is very common in web development.
Array Methods
Promises
A Quick Intro
A bit more detailed demo
Resources
MDN has a good post on promises
Async / Await
Async / Await pattern is the natural extension of Promises and is nothing but syntactic sugar to make promises look condensed. Any promise by default can be treated as an async function call and thus, any promise returning function can be awaited.
Promises in their native form have more control over parallel executions and should be preferred if concurrency is being considered to improve performance. It's harder to write concurrent tasks in the async/await syntax.
Quick Video Here
Resources
MDN has a good post Async/Await
RxJS
RxJS is an event processing pipeline. It's a an important tool to know before getting into Angular / React. Events can be subscribed at multiple places in an application and so, this becomes a very handy tool to use in multi-component architectures like angular. Using RxJS, you may end up writing significantly less boilerplate code to pass data around.
Watch this video for a Quick Intro here
Resources
To master it, head over to the official page.