مبانی JavaScript · ۱۰ دقیقه مطالعه

توابع و دامنه

تعریف تابع

function greet(name) {
    return "سلام " + name;
}
greet("آرنا");

Arrow Function (مدرن)

const greet = (name) => "سلام " + name;
const double = x => x * 2;          // یک پارامتر، یک خط
const add = (a, b) => a + b;

پارامتر پیش‌فرض و بقیه

function xp(base, bonus = 0) { return base + bonus; }
function sum(...nums) {               // rest: همهٔ آرگومان‌ها
    return nums.reduce((a, b) => a + b, 0);
}

دامنه (Scope)

let global = 1;
function test() {
    let local = 2;   // فقط داخل تابع
}
// console.log(local);  ← خطا

let/const دامنهٔ بلوکی دارند (داخل { }).

Closure — مفهوم مهم

یک تابع می‌تواند متغیرهای تابع بیرونی را «به‌خاطر بسپارد»:

function counter() {
    let count = 0;
    return () => ++count;
}
const next = counter();
next(); next();   // 1, 2

Closure پایهٔ خیلی از الگوهای پیشرفتهٔ JS است.

🧪

خودت امتحان کن

اجرا در مرورگرِ خودت — امن

کد را تغییر بده و «اجرا» را بزن. این کد فقط در مرورگر خودت اجرا می‌شود.

برای ثبت پیشرفت و کسب XP وارد شو.

ورود به میدان
→ اعداد و Math