آدرس : تهران میدان فردوسی خیابان ایرانشهر بین سمیه و طالقانی مجتمع تجاری میلاد واحد 9

پشتیبانی 24 ساعته : 02188867940 – 09927674217

برای مشاهده لیست علاقه مندی ها وارد شوید!

مشاهده محصولات فروشگاه
0

هیچ محصولی در سبد خرید نیست.

جاوا اسکریپت خوش زبان قسمت بیست و هفتم

دسته بندی :دسته‌بندی نشده 25 جولای 2023 علی هشترودی 201

ما مطمئنا می توانیم اما همانطور که در حال کپی و پیست کردن آن ها هستیم
چهار خط یک بار دیگر، توقف می کنیم و تجدید نظر می کنیم. باید راه بهتری وجود داشته باشد.
این اولین تلاش است:
تابع printZeroPaddedWithLabel (شماره، برچسب) {
اجازه دهید numberString = String(number);
while (numberString.length < 3) {
numberString = “0” + numberString;
}
console.log(`${numberString} ${label}`);
}
تابع printFarmInventory(گاو، مرغ، خوک) {
printZeroPaddedWithLabel(گاو، “گاو”);
printZeroPaddedWithLabel(مرغ، “مرغ”);
printZeroPaddedWithLabel(pigs، “Pigs”);
}
printFarmInventory(7, 11, 3);
کار می کند! اما این نام، printZeroPaddedWithLabel، کمی ناخوشایند است.
این سه چیز – چاپ، صفر کردن و اضافه کردن یک برچسب – را در یک ترکیب می کند

تک عملکردی

به جای اینکه قسمت تکراری برنامه خود را به صورت عمده فروشی برداریم، بیایید تلاش کنیم
برای انتخاب یک مفهوم واحد
تابع zeroPad (عدد، عرض) {
let string = رشته (تعداد);
while (string.length < عرض) {
string = “0” + string;
}
رشته بازگشت؛
}
تابع printFarmInventory(گاو، مرغ، خوک) {
console.log(`${zeroPad(cows, 3)} Cows`);
console.log(`${zeroPad(chickens, 3)} Chickens`);
console.log(`${zeroPad(pigs, 3)} Pigs`);
}
printFarmInventory(7, 16, 3);
یک تابع با نام خوب و واضح مانند zeroPad کار را برای کسی آسان تر می کند
که کد را می خواند تا بفهمد چه کاری انجام می دهد. و چنین عملکردی در آن مفید است
53
موقعیت های بیشتر از این برنامه خاص. برای مثال می توانید از آن استفاده کنید
برای کمک به چاپ جداول اعداد که به خوبی تراز شده اند.
عملکرد ما چقدر باید هوشمند و همه کاره باشد؟ ما می توانستیم هر چیزی بنویسیم،
از یک تابع بسیار ساده که فقط می تواند یک عدد را به عرض سه کاراکتر اضافه کند تا یک سیستم قالب بندی اعداد تعمیم یافته پیچیده که کنترل می کند
اعداد کسری، اعداد منفی، تراز کردن نقاط اعشاری، پر کردن با
شخصیت های مختلف و غیره
یک اصل مفید این است که زیرکی را اضافه نکنید مگر اینکه کاملاً مطمئن باشید
شما به آن نیاز خواهید داشت نوشتن “چارچوب های” کلی برای آن می تواند وسوسه انگیز باشد
هر ذره عملکردی که با آن روبرو می شوید. در مقابل آن اصرار مقاومت کنید. هیچکدام را نخواهید گرفت
کار واقعی انجام شده است – شما فقط کدی را می نویسید که هرگز استفاده نمی کنید.

عملکردها و عوارض جانبی

عملکردها را می توان تقریباً به مواردی تقسیم کرد که به دلیل عوارض جانبی آنها نامیده می شود
و آنهایی که برای مقدار بازگشتی خود فراخوانی می شوند. (اگرچه قطعا همینطور است
ممکن است هم عوارض جانبی داشته باشد و هم مقداری را برگرداند.)
اولین تابع کمکی در مثال مزرعه، printZeroPaddedWithLabel،
برای اثر جانبی آن نامیده می شود: یک خط چاپ می کند. نسخه دوم ZeroPad است
مقدار بازگشتی آن را فراخوانی کرد. تصادفی نیست که دومی در بیشتر مفید است
موقعیت هایی نسبت به حالت اول توابعی که ارزش ایجاد می کنند راحت تر ترکیب می شوند
روش های جدید نسبت به عملکردهایی که مستقیماً عوارض جانبی را انجام می دهند.
تابع خالص، نوع خاصی از عملکرد ارزش آفرین است که نه تنها
هیچ عوارض جانبی ندارد، اما به عوارض جانبی سایر کدها نیز متکی نیست
برای مثال، پیوندهای سراسری را که ممکن است مقدارشان تغییر کند، نمی خواند. یک ناب
تابع دارای ویژگی دلپذیری است که وقتی با همان آرگومان ها فراخوانی می شود.

علی هشترودی

راه آسان‌تری برای ارتباط با کاربران‌مان پیدا کرده‌ایم :) عضویت در کانال

مطالب زیر را حتما بخوانید:

قوانین ارسال دیدگاه در سایت

  • چنانچه دیدگاهی توهین آمیز باشد تایید نخواهد شد.
  • چنانچه دیدگاه شما جنبه ی تبلیغاتی داشته باشد تایید نخواهد شد.
  • چنانچه از لینک سایر وبسایت ها و یا وبسایت خود در دیدگاه استفاده کرده باشید تایید نخواهد شد.
  • چنانچه در دیدگاه خود از شماره تماس، ایمیل و آیدی تلگرام استفاده کرده باشید تایید نخواهد شد.
  • چنانچه دیدگاهی بی ارتباط با موضوع آموزش مطرح شود تایید نخواهد شد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

لینک کوتاه:
0