تفاوت Function Declaration و Function Expression - آزمون جاوااسکریپت
تفاوت Function Declaration و Function Expression
این آزمون در مورد زبان برنامه نویسی جاوااسکریپت هست که قراره دانش تو رو در زمینه تفاوتهای کلیدی بین Function Declaration و Function Expression بسنجه.
اگه با جاوااسکریپت کار کرده باشی، حتما با دو روش مختلف برای تعریف تابع روبرو شدی. روش Function Declaration و Function Expression.

این دو روش هرچند در نگاه اول شبیه به هم هستن، اما تفاوتهای مهمی دارن که میتونه روی عملکرد کدت تاثیر بذاره. یکی از این تفاوتهای بزرگ، در مورد Hoisting یا همون بالا کشیدن کد هست که خیلی از برنامه نویسها رو سردرگم میکنه.
با انجام این کوییز میتونی میزان مهارت و تسلط خودت رو دربارهی این مفاهیم کلیدی جاوااسکریپت بسنجی و همزمان اطلاعات خوبی در موردشون به دست بیاری.
این آزمون به صورت تخصصی توسط تیم طراحی آزمونهای سایت پاموه تهیه شده تا بتونی با دید بهتری به این موضوع نگاه کنی.
سوالات آزمون در مورد چه چیزهایی هستن؟
سوالات این آزمون در مورد تفاوتهای اساسی Function Declaration و Function Expression هستن. مثلاً میتونی با سوالاتی در مورد چگونگی رفتار این دو تابع در زمان Hoisting روبرو بشی.
آیا میدونی که Function Declaration به بالای اسکوپ منتقل میشه ولی Function Expression نه؟
همچنین، ممکنه با کدهایی مثل نمونههای زیر روبرو بشی که باید خروجیشون رو حدس بزنی:
-
sayHello(); function sayHello() { console.log('Hello from declaration!'); } -
sayHi(); const sayHi = function() { console.log('Hi from expression!'); };
این آزمون بهت کمک میکنه تا فرق این دو روش رو به صورت عملی و کاربردی یاد بگیری و بدونی که هر کدوم رو کجا باید استفاده کنی.
با شرکت در این آزمون، به جزئیات این مفاهیم پی میبری و دیگه هیچوقت با خطاهای مربوط به فراخوانی توابع قبل از تعریفشون روبرو نمیشی.
مقایسه Function Declaration و Function Expression
| ویژگی | Function Declaration | Function Expression |
|---|---|---|
| Hoisting | بله، به کل Scope منتقل میشود و قبل از تعریف قابل فراخوانی است. | خیر، قبل از خط تعریف قابل دسترسی نیست. |
| نحوه تعریف | function name() {} |
const name = function() {}; یا const name = () => {}; (تابع Arrow) |
| زمان استفاده | معمولاً برای توابع عمومی که در کل برنامه استفاده میشن. | وقتی که تابع رو به عنوان مقدار به یک متغیر اختصاص میدی. |
حالا که میدونی قراره چه چیزهایی رو یاد بگیری، وقتشه که مهارتت رو محک بزنی. روی «دکمه شروع» کلیک کن و وارد این آزمون جذاب در مورد زبان برنامه نویسی جاوااسکریپت شو. قول میدم تجربه مفیدی باشه!