✍️ تابع در جاوااسکریپت یک مقدار است؛ میتونه داخل متغیر یا ویژگی یک شیء قرار بگیره. این یعنی میتونیم مجموعهای از رفتارهای کوچک بسازیم و بعد بر اساس یک نام، رفتار مناسب را انتخاب کنیم. به جای چند محاسبه پراکنده، یک جدول از تابعها داریم که هرکدام وظیفه روشنی انجام میدن.
برای نمونه، در تبدیل دما میشه دو تابع کوچک به نامهای toCelsius و toFahrenheit نگه داشت و فقط تابع انتخابشده را اجرا کرد. دقت کن نوشتن نام تابع، خود آن مقدار را میده؛ افزودن پرانتز باعث اجرای آن میشه. این تفاوت در تمرین بعدی callback هم نقش اصلی دارد.
اینجا فقط دو حالت مشخص داریم و نام ناشناخته باید ورودی را بدون تغییر برگردونه. مقدار صفر و عدد منفی هم ورودی عادی هستند. خطای رایج اینه که تابع انتخابشده را فراموش کنیم اجرا کنیم، یا نتیجه دو برابر کردن را برای همه حالتها برگردونیم. اول رفتار را انتخاب کن، بعد همان رفتار را روی عدد اعمال کن.
فعالیت شما
transformNumber(value, mode) را کامل کن. value عدد متناهی است. mode='inc' عدد را یک واحد زیاد و mode='double' آن را دو برابر کند؛ هر mode دیگر خود value را برگرداند. نمونه (4,'inc') => 5 و (4,'double') => 8.