πŸš€ LEVEL UP TO SENIOR:Unlock 500+ Advanced Practical Challenges & Expert Masterclasses.
πŸŽ“ COURSERA PARTNER:Earn professional Google, Meta, and IBM certificates to supercharge your resume.
REFERENCEjavascript

javascript Documentation

πŸ“– INDEX

# Accesability-Semantic-HTML
# Advanced-CSS
# Anonymous-Functions
# Arguments-Parameters
# Array-Destructuring
# Array-Methods
# Arrow-Functions
# Async-Error
# await
# Basic-Syntax
# break
# Callback-Functions
# catch
# Classes
# Closures
# Comments-js
# Condicionals
# Const
# Constructors
# continue
# Core-Technologies-Advance-Knowledge
# Creating-Arrays
# Custom-Exceptions
# Data-Types
# Debounce-Throttle
# Delete-Elements
# Destructuring
# Dev-Methodologies
# do-while
# Element-Selection
# Elements-Access
# Elements-creation
# Elements-Manipulation
# else
# elseif
# Error-Objects
# Event Loop
# Event-Listeners
# Events
# Export-by-Default
# Export-Named
# filter
# finallyJavaScript
# for
# forEach
# Function-Declaration
# Function-Expressions
# Generators
# Hoisting
# if
# Import-Export
# index
# InheritanceJavaScript
# JavaScript-Advance-Functions
# JavaScript-Array-Object
# JavaScript-Arrays-Loops
# JavaScript-Async-Intro
# JavaScript-Async
# JavaScript-Basic-Syntax
# JavaScript-BOM
# JavaScript-Callbacks
# JavaScript-ClientvsServer
# JavaScript-Clousures
# JavaScript-Comments
# JavaScript-Common-Events
# JavaScript-Common-Methods
# JavaScript-Condicionals
# JavaScript-Console
# JavaScript-Control-Structure
# JavaScript-Data-types-Variables
# JavaScript-Dates-Time
# JavaScript-Dates
# JavaScript-Debugging-Tools
# JavaScript-Declaration
# JavaScript-DOM
# JavaScript-Embedded
# JavaScript-Errors-Intro
# JavaScript-Errors
# JavaScript-Event-Listener
# JavaScript-Events
# JavaScript-Export
# JavaScript-Fetch-API
# JavaScript-First-Steps
# JavaScript-Functions
# JavaScript-History
# JavaScript-How-works
# JavaScript-Inheritance
# JavaScript-Intro
# JavaScript-JSON-Works
# JavaScript-JSON
# JavaScript-Localstorage
# JavaScript-Loops
# JavaScript-Manipulation
# JavaScript-Modular
# JavaScript-Modules
# JavaScript-Objects
# JavaScript-Operators
# JavaScript-POO
# JavaScript-Promises
# JavaScript-Propagation
# JavaScript-Prototypes
# JavaScript-Redirects
# JavaScript-Return
# JavaScript-Scope
# JavaScript-Script
# JavaScript-Sets
# JavaScript-Storage
# JavaScript-Style-Modification
# JavaScript-Window-Location
# Let-Const
# Logic-Operators
# loops
# map
# Memory Management
# Methods
# Modern-Libreries-Frameworks
# Modification-Methods
# Modify-Attributes
# Modules
# Object-Creating
# Operators
# Optimization-and-Build
# pop
# Problem-solving
# Promises
# Properties
# Prototipos
# push
# Recursive-Function
# reduce
# Rest-Parameters
# Return
# Scope-Context
# setInterval
# setTimeout
# shift
# slice
# sort
# splice
# Spread Operator
# State-Management
# switch
# Team-Work-and-Communication
# Template Literals
# Testing
# then
# this-JavaScript
# this
# throw
# trycatch
# unshift
# Variables
# Version-Control
# What-is-JavaScript
# while
# Constants
# Comments
# Conditionals
# Recursive-Functions
# Prototypes
# Array-Creation
# Selection-Methods-Alias
# Custom-Exceptions-Alias
# async-await
# Scope-and-Context
LOADING ENGINE...

JS Hoisting

Understand how JavaScript allocates memory before code execution.

hoisting.js
πŸš€

JS Engine is parsing variables...

A.D.A: In JavaScript, Hoisting is a behavior where variable and function declarations are moved to the top of their containing scope during the compilation phase.

The Concept

Hoisting is JavaScript's default behavior of moving declarations to the top. However, only the declarations are hoisted, not the initializations.

// What you write:

console.log(cat); var cat = "Meow";

// How JS interprets it:

var cat;

console.log(cat); // undefined

cat = "Meow";

πŸ’‘ Quick Rule

  • var: Hoisted + Undefined
  • let/const: Hoisted + TDZ (Error)
  • Functions: Fully Hoisted

Enjoying this guide?

Codesyllabus is 100% free and open-source. Support our mission, pay for server infrastructure, and fuel new tutorials by buying us a coffee!

Hoisting Glossary

Temporal Dead Zone (TDZ)

The period between entering the scope and the actual variable declaration where let/const cannot be accessed.

Lexical Environment

Where the JS engine holds variables and function declarations during the memory creation phase.