JavaScript

JavaScript چیست؟

JavaScript (JS) یک زبان برنامه نویسی است که عمدتاً در توسعه برنامه های کاربردی وب استفاده می شود. در روزهای اولیه اینترنت، فقط صفحات وب ثابت و غیر تعاملی وجود داشت. بنیانگذار بنیاد موزیلا متوجه این موضوع شد و به طور اختصاصی روی توسعه یک زبان برنامه نویسی برای ایجاد صفحات وب تعاملی با دستکاری ساختار منطقی کار کرد. این ساختار به عنوان مدل شیء سند (DOM) شناخته می شود. دو زبان برنامه نویسی از آن الهام گرفته اند: جاوا و Scheme (گویش مینیمالیستی Lisp). JS بهترین جنبه های هر دو زبان را گنجانده است در حالی که هنوز نه تنها یک نحو بصری بلکه کتابخانه ها و مجموعه ابزارهای کاربردی را نیز مدیریت می کند.

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

موتور جاوا اسکریپت همراه با توانایی پشتیبانی از هر دو پارادایم برنامه نویسی، دومین مؤلفه مهم در اکوسیستم JS است که آن را به یک زبان برنامه نویسی قدرتمند تبدیل می کند. موتور JS می‌تواند کامپایل‌سازی به‌موقع (JIT) را انجام دهد. همانطور که از نام آن مشخص است، JIT در زمان اجرا با کدهای کامپیوتری مطابقت دارد، بهره وری را بهبود می بخشد و فضای ذخیره سازی زیادی را ذخیره می کند.

دو جزء مهم موتور JS وجود دارد: پشته حافظه و پشته تماس. تخصیص حافظه در پشته حافظه اتفاق می افتد، در حالی که پشته تماس، فراخوانی های تابع را پیگیری می کند. برخی از زبان های برنامه نویسی مانند سی شارپ می توانند چندین مجموعه دستورالعمل را به طور همزمان اجرا کنند، اما جاوا اسکریپت نمی تواند این کار را انجام دهد زیرا موتور آن تنها یک پشته تماس دارد و از این رو، یک زبان تک رشته ای است. یک زبان تک رشته ای بودن به این معنی است که JS نمی تواند برنامه نویسی موازی را پیاده سازی کند و برای مقابله با این محدودیت، مهندسان طراح ویژگی تماس های غیرهمزمان را در جاوا اسکریپت اضافه کرده اند.
این ویژگی به موتور اجازه می دهد تا مجموعه ای از دستورالعمل ها را از پشته تماس گرفته، آن را در پس زمینه اجرا کند و پس از اجرای کد ناهمزمان، نتیجه را از طریق حلقه رویداد برگرداند. به این ترتیب، به جاوا اسکریپت توانایی اجرای برنامه نویسی موازی را با وجود اینکه یک زبان تک رشته ای است، می دهد.

جاوا اسکریپت نیز به عنوان یک زبان برنامه نویسی عجیب در بین برنامه نویسان محبوب است. با این حال، توانایی آن در پشتیبانی از پارادایم های برنامه نویسی و موتور نوآورانه آن، آن را به زبانی معروف برای فناوری های نسل بعدی تبدیل کرده است. مخترعان متعددی که در صنایع ابر، هوش مصنوعی و بلاک چین کار می‌کنند، برای توسعه راه‌حل‌های خود و تغییر جهان به پشتیبانی آن متکی هستند.

استفاده از جاوا اسکریپت در کریپتو

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

از آنجایی که جاوا اسکریپت دارای اکوسیستم عظیمی از UI/UX از پیش ساخته شده و راه حل های مرتبط با فرانت اند است که کار توسعه دهندگان رمزارز را آسان تر می کند. توسعه‌دهندگان از کتابخانه‌های Web3.js برای اتصال برنامه بک‌اند با اتریوم از طریق جاوا اسکریپت استفاده می‌کنند که توسعه را سریع‌تر می‌کند، زیرا نیازی نیست همه چیز را از ابتدا بسازید یا از چندین زبان استفاده کنید، مانند Solidity اگر اجزای آماده‌ای در یک برنامه‌نویسی موجود باشد. محیط. همچنین یکی از اجزای ضروری اپلیکیشن های لایتنینگ، شبکه ای است که بر روی بلاک چین بیت کوین ساخته شده است، و شبکه Raiden، زیرساختی که بر روی اتریوم ساخته شده است.

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

 

 

بازگشت به واژه نامه

آیا این مقاله مفید بود؟

از ۱ تا ۵ چه امتیازی می‌دهید؟

میانگین امتیاز از رای

اولین نفر باشید که رای میدهد!

آموزش های فیبوتک
مشاوره سرمایه گذاری فیبوتک
دوره مقدماتی ارز دیجیتال
دوره آموزشی تحلیل تکنیکال مقدماتی
آموزش الگوهای معاملاتی