A Comprehensive Guide To JavaScript
JavaScript is a cross-platform scripting language which powers the web. Its the thing that makes the web pages interactive (having complex animations, clickable buttons, popup menus, etc.).
History
It was developed by Brendan Eich in 1995 with a goal of powering the Netscape browsers. Although it was developed under the name Mocha, the language was officially called LiveScript when it was first shipped in beta releases but later was renamed to JavaScript when it was deployed in the Netscape Navigator 2.0 beta 3 in December. The name Javascript was said to given as they initially wanted to complement java (marketing schema). In November 1996, Netscape submitted JavaScript to ECMA International to carve out a standard specification, which other browser vendors could then implement based on the work done at Netscape. This led to the official release of the language specification published in the first edition of the ECMA-262 standard in June 1997, with JavaScript being the most well known of the implementations. ActionScript and JScript were other well-known implementations of ECMAScript.:
ECMAScript Versions
- 1st version — June 1997,
- 2nd version — June 1998,
- 3rd version — June 1999
- 4th Edition (abandoned)
- 5th Edition
- 6th Edition — ECMAScript 2015 (ES6)
- 7th Edition — ECMAScript 2016
- 8th Edition — ECMAScript 2017
- 9th Edition — ECMAScript 2018
- ES.Next
Present
Nowadays Javascript runs on any device that has a JavaScript Engine; an embedded engine sometimes called as “JavaScript virtual machine”.
Engines Codename:
Engines have their own codename:
- V8 in Chrome and Opera
- SpiderMonkey in Firefox
- ChakraCore for Microsoft Edge,
- Nitro and SquirrelFish for Safari, etc.
The engine basic task is to read and parse the script and then compile into machine language. Additionally, it also does a complex task and provides a lot of features.
Although Javascript was initially created as a browser-only language, now its dominance is showing to take over the world by storm. You can also check more on - Quick guide to NodeJS and node vs javaScript.
Getting Started
1. Understand the Basics HTML-CSS
If you are completely new then before moving forward, you should learn the core concept of the web; the structure (HTML) and the style (CSS).
I will list out some of the best places to learn these:
- https://www.tutorialrepublic.com/html-tutorial/
- W3Schools
- Developer Mozilla HTML
- Developer Mozilla CSS
- https://www.codecademy.com/
- https://www.freecodecamp.org/
2. Learn Javascript Fundamentals
- https://www.tutorialrepublic.com/javascript-tutorial/
- https://javascript.info/
- https://www.codecademy.com/
- https://www.udacity.com/course/intro-to-javascript–ud803
JavaScript Core Concepts:
- JSUnconf - Functional Programming with JavaScript
- A Great Video By Vishwas on 8 Most Important Javascript Concepts
- Es6 Concepts: Youtube Playlist by Traversy Media- JavaScript ES6 / ES2015
- Best Explanation on Javascript Event Loop
- The Complete JavaScript Course 2018 By Jonas Schmedtmann
If I have to Summarize the list:
- ES5, ES6… Features (let, const, Arrow function, Spread operator, Destructuring )
- Array Manipulation
- Javascript Hoisting
- Web Apis
- Synchronous / Asynchronous
- Callbacks, Promises
- Scope
- Timers
- This
- Closures
- Prototypal Inheritance
- Execution Context
- Single Threaded, Event Loop
- and goes on ……….
3. Choose a Path for Future
Picking a Framework can be a Best option Here:
- React - Easy to start
- Angular
- Vue
You can find a Complete Web Developer Roadmap Here.