یوسف غیبی
یوسف غیبی
خواندن ۱ دقیقه·۱۵ روز پیش

Function Closures به زبان بسیار ساده

کلوژر ، تابعی که توی یک تابع دیگه تعریف و اجرا میشه که علاوه بر متغیر های scope خودش به متغیر های تابع بیرونی هم دسترسی داشته باشد.

یک سری کاربرد داره که این زیر بهش اشاره میکنیم :

1 - حفظ وضعیت : امکان حفظ وضعیت بین فراخوانی‌ها

2- محافظت از داده‌ها : جلوگیری از دسترسی مستقیم مغیرها

  • در این کد، وضعیت شمارنده counter با استفاده از closure حفظ می‌شود. به این معنی است که تابع jump_counter به متغیر counter که در داخل init تعریف شده است، دسترسی دارد و می‌تواند آن را حفظ کند و تغییر دهد، حتی بعد از آنکه تابع init تمام شده است.
  • متغیر counter به دلیل اینکه در scope تابع init قرار دارد، از دسترسی خارج از آن محافظت شده است. هیچ کدی نمی‌تواند مستقیماً به counter دسترسی پیدا کند و تنها راه دسترسی به آن از طریق تابع jump_counter است. این موضوع باعث می‌شود که داده‌ها از تغییرات ناخواسته محافظت شوند.
Closurefunctional programming
برنامه نویس فرانت اند
شاید از این پست‌ها خوشتان بیاید