JS Guide
Home
Questions
Topics
Companies
Resources
Bookmarks
Search
Toggle theme
Open menu
Home
Questions
Search
Progress
Home
Topics
javascript
javascript
Core JavaScript concepts, ES6+, and language fundamentals
29
All
14
beginner
10
intermediate
5
advanced
0 of 29 topics read
0%
14 Topics
beginner
Arrays
beginner
9 min
Understanding arrays in javascript
Single Page Applications
beginner
10 min
A Single Page Application loads one HTML document and uses JavaScript to dynamically rewrite content and manage navigation via the History API, avoiding full page reloads.
Data Types
beginner
7 min
JavaScript has 7 primitive types (string, number, bigint, boolean, undefined, null, symbol) that are immutable and passed by value, plus Object as the non-primitive reference type.
Destructuring
beginner
7 min
Destructuring extracts values from arrays (by position) and objects (by property name) into variables. The spread operator (...) expands iterables, while the rest operator (...) collects remaining elements.
DOM
beginner
7 min
The Document Object Model (DOM) is a tree-structured programming interface that lets JavaScript read, modify, and respond to a web page's content, structure, and styles in real time.
Error Handling
beginner
7 min
JavaScript provides try/catch/finally for synchronous error handling and .catch() or try/catch with async/await for asynchronous errors, with built-in error types like TypeError, ReferenceError, and SyntaxError.
Events
beginner
10 min
DOM events flow through three phases — capture, target, and bubble — and event delegation leverages bubbling to handle events on dynamic child elements with a single parent listener.
Functions
beginner
9 min
Arrow functions lexically bind 'this' from their enclosing scope and have concise syntax, while regular functions dynamically bind 'this' based on how they're called and can be used as constructors.
Hoisting
beginner
7 min
Hoisting is JavaScript's behavior of moving declarations to the top of their scope during compilation — var is initialized as undefined, let/const enter a Temporal Dead Zone, and function declarations are fully available before their code position.
Operators
beginner
14 min
== performs type coercion before comparison (loose equality), while === compares both value and type without coercion (strict equality). The ternary operator is an expression that returns a value, unlike if-else which is a statement.
Strings
beginner
14 min
JavaScript strings are immutable primitives with a rich set of built-in methods. Template literals (backticks) enable interpolation, multi-line strings, and tagged templates for custom processing.
Type Coercion
beginner
7 min
JavaScript automatically converts types during operations (implicit coercion) — the + operator favors strings, other arithmetic operators favor numbers, and there are exactly 8 falsy values.
Variables
beginner
7 min
var is function-scoped and hoisted with undefined, let is block-scoped and reassignable, const is block-scoped and cannot be reassigned — modern JavaScript favors const by default and let when reassignment is needed.
IIFE (Immediately Invoked Function Expression)
beginner
6 min
An IIFE is a function expression that is defined and executed immediately. Before ES6 modules, IIFEs were the primary mechanism for creating private scope and avoiding global namespace pollution.