JavaScript Major concepts GitHub notes: https://github.com/AshikaAnand12/JavaScript-Basics

History

JavaScript is basically ECMAScript at its core but builds upon it.

In JavaScript, functions are simply one more object type. They can be passed around just like any other element. They can be bound to variables, and, in later version of JavaScript, they can even be thrown as exceptions. This feature is a probable result of the strong influence Scheme had in JavaScript development.

ECMAScript 3 (December 1999). This is the version of ECMAScript that most browsers support today. It introduced many features that have become an inherent part of the language: regular expressions, better string handling, new control statements, try/catch exception handling, tighter definition of errors, formatting for numeric output and other enhancements.

ECMAScript 5 (December 2009). This version brings several enhancements to the standard library and even updated language semantics via a strict mode. Currently browsers are supporting upto ES5 only.

ECMAScript 6(2015) : ES6 is an next-gen of JavaScript, the ecma technical committee 39 governs ecma specification, they discovered new features to the javascript. ES6 can`t compile directly in browsers, so need an compiler from ES6 to ES5, for that compiling using babel, it produce the browser compatible javascript.

**ECMAScript 8(2017) : ****Major features: Async Functions (Brian Terlson)

ECMAScrip 9(2018): Major features:


JavaScript Engine

JavaScript can execute not only in the browser, but also on the server, or actually on any device that has a special program called the JavaScript engine. The browser has an embedded engine sometimes called a “JavaScript virtual machine”.

Different engines have different “codenames”. For example: