javascript notebook
Subjects covered include:
Getting started with JavaScript
JavaScript Variables
Built-in Constants
Comments
Console
Datatypes in JavaScript
Strings
Date
Date Comparison
Comparison Operations
Conditions
Arrays
Objects
Arithmetic (Math)
Bitwise operators
Constructor functions
Declarations and Assignments
Loops
Functions
Functional JavaScript
Prototypes, objects
Classes
Namespacing
Context (this)
Setters and Getters
Events
Inheritance
Method Chaining
Callbacks
Intervals and Timeouts
Regular expressions
Cookies
Web Storage
Data attributes
JSON
AJAX
Enumerations
Map
Timestamps
Unary Operators
Generators
Promises
Set
Modals - Prompts
execCommand and contenteditable
History
Navigator Object
BOM (Browser Object Model)
The Event Loop
Strict mode
Custom Elements
Data Manipulation
Binary Data
Template Literals
Fetch
Scope
Modules
Screen
Variable coercion/conversion
Destructuring assignment
JavaScript is often abbreviated as JS, is a high-level, interpreted programming language that conforms to the ECMAScript specification. It is a language that is also characterized as dynamic, weakly typed, prototype-based and multi-paradigm.
Alongside HTML and CSS, JavaScript is one of the three core technologies of the World Wide Web. JavaScript enables interactive web pages and thus is an essential part of web applications. The vast majority of websites use it, and all major web browsers have a dedicated JavaScript engine to execute it.
As a multi-paradigm language, JavaScript supports event-driven, functional, and imperative (including object-oriented and prototype-based) programming styles. It has APIs for working with text, arrays, dates, regular expressions, and the DOM, but the language itself does not include any I/O, such as networking, storage, or graphics facilities, relying for these upon the host environment in which it is embedded.
Initially only implemented client-side in web browsers, JavaScript engines are now embedded in many other types of host software, including server-side in web servers and databases, and in non-web programs such as word processors and PDF software, and in runtime environments that make JavaScript available for writing mobile and desktop applications, including desktop widgets.
The terms Vanilla JavaScript and Vanilla JS refer to JavaScript not extended by any frameworks or additional libraries. Scripts written in Vanilla JS are plain JavaScript code.
Although there are similarities between JavaScript and Java, including language name, syntax, and respective standard libraries, the two languages are distinct and differ greatly in design; JavaScript was influenced by programming languages such as Self and Scheme.
JavaScript has become one of the most popular programming languages on the Web. However, many professional programmers initially denigrated the language due to the perceived target audience of Web authors and other such "amateurs".[ The advent of Ajax returned JavaScript to the spotlight and brought more professional programming attention. The result was a proliferation of comprehensive frameworks and libraries, improved JavaScript programming practices, and increased usage of JavaScript outside Web browsers, as seen by the proliferation of Server-side JavaScript platforms.
In January 2009, the CommonJS project was founded with the goal of specifying a common standard library mainly for JavaScript development outside the browser.
With the rise of single-page applications and JavaScript-heavy sites, it is increasingly being used as a compile target for source-to-source compilers from both dynamic languages and static languages.
JavaScript was initially developed in 1996 for use in the Netscape Navigator Web browser. In the same year Microsoft released an implementation for Internet Explorer. This implementation was called JScript due to trademark issues. In 1997, the first standardized version of the language was released under the name ECMAScript in the first edition of the ECMA-262 standard.