📄️ Overview
JavaScript is a lightweight interpreted programming language. The most common usage of JavaScript is wihin web browsers to provide client side scripting for static HTML web pages.
📄️ History
JavaScript was invented by Brendan Eich for the Netscape browser in 1995.
📄️ Variables
Declaring variables
📄️ Data Types
MDN
📄️ Prototype
In JavaScript every object inherits properties from its prototype. A prototype is just an object with properties which other objects inherit from.
📄️ Type Casting
Implicit
📄️ Data Structures
Keyed collections
📄️ Equality Comparisons
Operators
📄️ Loops
For
📄️ Control Flow
If ... else
📄️ Expressions
Conditional operators
📄️ Functions
Functions are the core piece of all programming langauges and provide a way to reuse code.
📄️ DOM
The DOM is the Document Object Model and specifically refers to the browser structure, such as the HTML representation of a web page.
📄️ Strict Mode
Strict mode is JavaScript is not always available in all browser engines, but the aim is to reduce mistakes.
📄️ This keyword
The this keyword can refer to different things depending on the usage and where it is being used.
📄️ Asynchronous
In order to perform long running tasks asynchronous programming is used. As JavaScript is single-threaded any long running task by default with block the main thread.
📄️ Calling APIs
During web development you will likely need to call external apis.
📄️ Classes
Classes are a template for creating objects and are built on prototypes.
📄️ Iterators and generators
Iterators
📄️ Modules
Modules are used to split up logic in an application. A module is just a file in JavaScript.
📄️ Memory management
In JavaScript memory management and garbage collection is done automatically based on if a reference is still reachable by the code.
📄️ Browser developer tools
Major browsers like Chrome, Firefox, Safari have built in developer tools that are accessible from the Inspect menu option.