تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ آیدا قاسم پور
تفاوت میان توابع و استفاده آنها
جامعه جاوا اسکریپت ایجاد شده در ۰۲ مرداد ۱۴۰۱

سلام مقداری در استفاده توابع گیج شدم میشه توضیحی در باره ی function diclaretion و function expresion و Arrow function رو بگید و چه تفاوتی با هم دیگر و آیا میشه به جای همدیگر هم استفاده بشوند و در استفاده تفاوتی دارند؟ اگر درست متوجه شده باشم فقط همین سه نوع توابع در جاوا اسکریپ هستش ، درسته؟

 handelToggleBtn = (id) => {
        const activeBoxes = [...this.state.activeBoxes];
        if(activeBoxes.includes(id)){
            activeBoxes.splice(activeBoxes.indexOf(id), 1);
        }else{
            activeBoxes.push(id);
        }
        this.setState(state => {
            return(
                ...state,
                activeBoxes
            )
        })

 ایا به جای این شیوه میشه این رو به صورت function diclaretion در یک کلاس تعریف کرد؟

آیدا قاسم پور ۰۲ مرداد ۱۴۰۱، ۱۲:۵۴

سلام وقتتون بخیر .

function declaration و function expression دو روش برای تعریف تابع‌ها هستند که البته تابع هایی که ایجاد می‌شوند تفاوت

زیادی با هم ندارند (از لحاظ ماهیت و ویژگی ها) ولی از لحاظ کاربرد میتونن بسته به سلیقه و مورد استفاده بشن . مثلا با استفاده از function expression میتونید توابع anonymous داشته باشید (توابع بدون نام) که معمولا در جایی که می‌خواید یک

تابع رو به صورت آرگومان پاس بدید استفاده میشه . برای اطلاع بیشتر به اینجا مراجعه کنید .

اما function‌ها از لحاظ ویژگی‌های کلی به دو دسته Regular Function و Arrow Function تقسیم میشن که تفاوت‌های اساسی‌تری با هم دارند که استاد بعضی تفاوت هارو اشاره کردند و برای اطلاع بیشتر هم میتونید به اینجا مراجعه کنید . اگر با مطالعه مطالب بازهم در موردی سوالی داشتید بفرمایید راهنماییتون میکنیم .

موفق باشید .

علیرضا ایمانی ۰۲ مرداد ۱۴۰۱، ۱۶:۰۱