

@مکمک واسیلوسکی
در طول روز یک توسعه دهنده. یک شوهر و پدر شب.
اخیراً شروع به فکر کردن درباره OOP در Javascript کردم. در طول 2.5 سال گذشته که به شدت درگیر React عملکردی بودیم ، کار آسانی نبود.
شما می دانید که مفاهیم اساسی OOP عبارتند از: کپسوله سازی ، وراثت ، انتزاع ، و چند شکلی. من به یک مثال خوب نگاه کرده ام پلی مورفیسم در جاوا اسکریپت.
در زبانهای پویا ، به صورت تایپ اردک. اردک چی؟
اگر چیزی مثل اردک لگد بزند ، اردک است.
چندشکلی وقتی است بسته به نوع اشیایی که این عملکرد روی آنها اجرا می شود ، یک عملکرد متفاوت فراخوانی می شود. پس اردک است؟ با عملکرد duck () تماس بگیرید! آیا سگ است؟ سگ () را یکی صدا کنید!
من کاملا مطمئن هستم که شما به طور روزمره از هر یک از موارد بالا استفاده می کنید. آیا تاکنون از Array.map ، Array.filter استفاده کرده اید. حتماً! اما برای اینکه بتوانید آن روش ها و شی object را فراخوانی کنید باید این موارد باشد:
“قابل تکرار است، یک شی must باید @ را پیاده سازی کند@اشاره گر روش ، به این معنی که این شی (یا یکی از اشیا up موجود در زنجیره نمونه اولیه آن) باید دارای ویژگی با کلید تکرارباشد که از طریق Symbol.iterator ثابت در دسترس است. “
منبع: موزیلا
اگر یک شی object یک قابلیت تکرار شونده را اجرا می کند ، توضیح تایپ اردک فوق را به این مثال ترجمه می کنید ، باید قابل تکرار باشد! بنابراین با روش های تکرار کننده تماس بگیرید!
و بم! ما ثابت کردیم که …