آموزش جاوا اسکریپت – متدهای قرض گرفتن در جاوا اسکریپت

آموزش جاوا اسکریپت

در این بخش از سری آموزش جاوا اسکریپت قصد داریم در مورد متدهای Borrowing یا همان قرض گرفتن در جاوا اسکریپت صحبت کنیم.

 

متدهای قرض گرفتن از شی (Object)

در جاوا اسکریپت, می توانید متدها را از آبجکت های دیگر برای ایجاد بعضی از عملکردها بدون ارث بری دیگر خصوصیات و متدها استفاده کنید.

جاوا اسکریپت دو متد را برای تابع آبجکت ها, call() و apply() که به ما اجازه می دهد یک تابع را همانند یک متد از آبجکت دیگر, فراخوانی کنیم.

 

تفاوت بین متدهای call() و apply()

سینتکس متد apply() تقریبا با call() یکسان است با این تفاوت که call() یک لیست از آرگومان ها را بصورت call(thisObj, arg1, arg2, ...) دریافت می کند در حالی که متد apply() همه را در یک آرایه تنها بصورت apply(thisObj, [argsArray]) دریافت می کند.

به براکت های مربعی [] که نشان دهنده آرایه هستد در آخر این مثال توجه کنید.

 

استفاده از متدهای از قبل-ساخته-شده (built-in)

همچنین متد apply() به ما اجازه می دهد از متد های built-in برای انجام بعضی عملیات به سادگی و آسانی استفاده کنیم.

مثالی از آن استفاده از Math.max()/Math.min() برای پیداکردن حداکثر یا حداقل مقدار در یک آرایه است که در حالت عادی باید یک حلقه را روی مقادیر آرایه اجرا می کردیم.

همانطور که از بخش های قبلی آموزش جاوا اسکریپت می دانید, آرایه های جاوا اسکریپت متد max() ندارد ولی Math را بله, پس می توانید متد Math.max() را همانند مثال زیر apply کنید:

نکته: اولین آرگومان برای دو متد call() و apply() یک آبجکت است که تابعی را فراخوانی کرده است. استفاده از null برای آرگومان اول مثل صدا زدن تابع بدون دادن هیچ آبجکتی برای اشاره گر this داخل تابع است.

اپراتور جدید در ES6 یک راه کوتاه تر برای دریافت مقدار حداکثر یا حداقل از یک آرایه بدون استفاده از متد apply() است.

به هر حال هر دو و apply() در صورتی که آرایه تعداد زیادی المان (ده ها هزار) داشته باشد, نتیجه نادرستی را برگشت می دهند.

در این صورت می توانیم از Array.reduce() برای پیدا کردن مقدار حداکثر یا حداقل در یک آرایه عددی با مقایسه هر کدام از مقدارها, استفاده کنیم.

 

امیدواریم در این بخش آموزش جاوا اسکریپت, از آموزش متدهای قرض گرفتن در جاوا اسکریپت نهایت استفاده را برده باشد.

هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .

موفق باشید.

حسن شفیعی توسعه دهنده وب و موبایل مدیر سایت علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندروید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید. برایتهیه هاست مطمین و پرسرعت کلیک کنید
مطالب زیر را حتما بخوانید
دیدگاه کاربران

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

دوره های آموزشی