جستجو برای:
  • خانه
  • مهارت های کامپیوتر
    • شبکه
    • ابزار های مایکروسافت افیس
    • ویندوز
  • برنامه نویسی و طراحی سایت
    • کد نویسی سمت کاربر
    • کد نویسی سمت سرور
    • cms های آماده
  • برنامه نویسی
    • اندروید
    • #C
    • بازی سازی
    • جاوا
    • پایتون
  • سورس کد ها
    • پروژه آماده اندروید
    • پروژه اماده unity
    • پروژه آماده سی شارپ
    • پروژه آماده طراحی سایت
  • تماس با ما
  • درباره ما
 
  • 02128423771 - 08736212195
  • info@zarrinlearn.com
  • بلاگ
  • تماس با ما
  • درباره ما
سایت اموزشی زرین لرن
  • خانه
  • مهارت های کامپیوتر
    • شبکه
    • ابزار های مایکروسافت افیس
    • ویندوز
  • برنامه نویسی و طراحی سایت
    • کد نویسی سمت کاربر
    • کد نویسی سمت سرور
    • cms های آماده
  • برنامه نویسی
    • اندروید
    • #C
    • بازی سازی
    • جاوا
    • پایتون
  • سورس کد ها
    • پروژه آماده اندروید
    • پروژه اماده unity
    • پروژه آماده سی شارپ
    • پروژه آماده طراحی سایت
  • تماس با ما
  • درباره ما
0

ورود و ثبت نام

بلاگ

سایت اموزشی زرین لرنبلاگمقالاتJavaScript Hoisting

JavaScript Hoisting

15 دی 1404
ارسال شده توسط سمیرا خانی
مقالات
10 بازدید

JavaScript Hoisting یعنی اینکه مفسر جاوااسکریپت قبل از اجرای کد، بعضی از اعلان‌ها (declarations) را به بالای اسکوپشان «بالا می‌کشد».
نکته مهم: فقط اعلان بالا می‌آید، نه مقداردهی.


1️⃣ Hoisting در var

console.log(x); // undefined
var x = 10;
console.log(x); // 10

در واقع کد به این شکل تفسیر می‌شود:

var x;
console.log(x);
x = 10;
console.log(x);

🔹 var hoist می‌شود و مقدار اولیه‌اش undefined است.


2️⃣ Hoisting در let و const

console.log(y); // ❌ ReferenceError
let y = 5;

🔸 let و const هم hoist می‌شوند اما قابل دسترسی نیستند تا زمانی که خط تعریفشان اجرا شود.
این بازه را Temporal Dead Zone (TDZ) می‌نامند.


3️⃣ Hoisting در Function Declaration

sayHello();

function sayHello() {
console.log(“Hello!”);
}

✅ کاملاً درست کار می‌کند
🔹 چون کل تابع hoist می‌شود.


4️⃣ Function Expression و Arrow Function

sayHi(); // ❌ TypeError

var sayHi = function () {
console.log(“Hi”);
};

یا:

sayHi(); // ❌ ReferenceError

let sayHi = () => {
console.log(“Hi”);
};

🔸 این‌ها مثل متغیر رفتار می‌کنند، نه مثل تابع declaration


5️⃣ خلاصه سریع

نوع Hoisting قابل استفاده قبل از تعریف
var ✅ ⚠️ undefined
let ✅ ❌ TDZ
const ✅ ❌ TDZ
Function Declaration ✅ ✅
Function Expression وابسته به نوع متغیر ❌
برچسب ها: JavaScript Hoisting،Hoisting در var،Hoisting در let و const،
در تلگرام
کانال ما را دنبال کنید!
Created by potrace 1.14, written by Peter Selinger 2001-2017
در آپارات
ما را دنبال کنید!

مطالب زیر را حتما مطالعه کنید

JavaScript Dates
JavaScript Use Strict
JavaScript Code Blocks
JavaScript Scope
JavaScript Display Objects
JavaScript Object Properties

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • مقالات
نوشته‌های تازه
  • JavaScript Dates
  • JavaScript Use Strict
  • JavaScript Hoisting
  • JavaScript Code Blocks
  • JavaScript Scope
درباره زرین لرن

ما برند زرین لرن را نامگذاری کردیم، زیرا برای ما بهترین علامت های تجاری ساده هستند. مارک ها رشد می کنند در توانایی آنها درک می شود.

فهرست سفارشی
  • صفحه اصلی اول
  • بلاگ
  • تماس با ما
  • حساب کاربری من
  • درباره ما
  • سبد خرید
  • فروشگاه

طراحی شده توسط گروه فنی مهندسی زریم هور

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت