مقدمه ای بر جاوا اسکریپت (JavaScript)

در این مقاله آموزشی، می خواهیم ببینیم که چه خصوصیات ویژه ای در زبان جاوا اسکریپت (JavaScript) وجود دارد؟ چه چیزهایی می توانیم با آن به دست آوریم؟ و سایر فناوری ها چطور از آن استفاده می کنند؟

جاوا اسکریپت چیست؟!

زبان جاوا اسکریپت در ابتدا برای “زنده کردن صفحات وب” ایجاد شده است. به برنامه های این زبان اسکریپت گفته می شود. می توان آنها را درست در HTML یک صفحه وب نوشت و با بارگیری صفحه به طور خودکار اجرا می شوند.

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

چرا به این زبان جاوا اسکریپت می گویند؟

وقتی زبان جاوا اسکریپت (JavaScript) ایجاد شد ، در ابتدا نام دیگری داشت: “LiveScript”. اما جاوا در آن زمان بسیار محبوب بود ، بنابراین تصمیم گرفته شد که قرار دادن یک زبان جدید به عنوان “برادر کوچکتر” جاوا کمک کند. اما با تکامل ، جاوا اسکریپت با مشخصات خاص خود به نام ECMAScript به زبانی کاملاً مستقل تبدیل شد و اکنون هیچ ارتباطی با جاوا ندارد.

موتورها (engine) چگونه کار می کنند؟

موتورها پیچیده هستند. اما اصول آنها ساده است. موتور (تعبیه شده در صورت مرورگر) متن را می خواند (“تجزیه می کند”). سپس اسکریپت را به زبان ماشین تبدیل می کند (“کامپایل” می کند). و سپس کد دستگاه ، خیلی سریع اجرا می شود.

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

جاوا اسکریپت درون مرورگر چه کاری می تواند انجام دهد؟

زبان جاوا اسکریپت مدرن یک زبان برنامه نویسی “ایمن” است. دسترسی به سطح پایین حافظه یا CPU را فراهم نمی کند ، زیرا در ابتدا برای مرورگرهایی ایجاد شده است که نیازی به آن ندارند.

قابلیت های زبان جاوا اسکریپت (JavaScript) تا حد زیادی به محیطی که در آن در حال اجرا است بستگی دارد. به عنوان مثال ، Node.js از توابع پشتیبانی می کند که به JavaScript اجازه می دهد تا پرونده های دلخواه را بخواند / بنویسد ، درخواست های شبکه را انجام دهد و غیره.

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

مثال

به عنوان مثال ، JavaScript درون مرورگر قادر است:

HTML جدیدی به صفحه اضافه کنید ، محتوای موجود را تغییر دهید ، سبکها را تغییر دهید.
به اقدامات کاربر واکنش نشان دهید ، با کلیک ماوس ، حرکات اشاره گر ، فشار کلیدها اجرا کنید.
درخواست ها را از طریق شبکه به سرورهای از راه دور ارسال کنید ، پرونده ها را بارگیری و بارگذاری کنید (اصطلاحاً فناوری های AJAX و COMET).
کوکی ها را دریافت و تنظیم کنید ، از بازدید کننده سوال بپرسید ، پیام ها را نشان دهید.
داده های سمت مشتری (“ذخیره سازی محلی”) را بخاطر بسپارید.

جاوا اسکریپت چه کاری نمی تواند در مرورگر انجام دهد؟

توانایی های JavaScript در مرورگر به دلیل ایمنی کاربر محدود است. هدف جلوگیری از دسترسی یک صفحه وب بد به اطلاعات خصوصی یا صدمه زدن به داده های کاربر است.

نمونه هایی از این محدودیت ها عبارتند از:

  • جاوا اسکریپت در یک صفحه وب نمی تواند پرونده های دلخواه را روی دیسک سخت بخواند / بنویسد ، آنها را کپی یا برنامه ها را اجرا کند. دسترسی مستقیمی به عملکردهای سیستم عامل ندارد.
  • مرورگرهای مدرن اجازه کار با فایلها را می دهند ، اما دسترسی محدود است و فقط درصورتی که کاربر اقدامات خاصی مانند “انداختن” پرونده در پنجره مرورگر یا انتخاب آن از طریق برچسب را انجام دهد ، دسترسی محدود است.
  • روش هایی برای تعامل با دوربین / میکروفون و سایر دستگاه ها وجود دارد ، اما این روش ها نیاز به اجازه صریح کاربر دارند. بنابراین یک صفحه دارای جاوا اسکریپت ممکن است به زبانی دوربین وب را فعال نکرده ، محیط اطراف را رصد کرده و اطلاعات را به NSA ارسال کند.
  • زبانه ها / پنجره های مختلف معمولاً از یکدیگر اطلاع ندارند. بعضی اوقات این کار را می کنند ، به عنوان مثال وقتی یک پنجره از JavaScript برای باز کردن پنجره دیگر استفاده می کند. اما حتی در این حالت ، JavaScript از یک صفحه ممکن است به صفحه دیگر دسترسی نداشته باشد (اگر از سایت های مختلف (از دامنه ، پروتکل یا پورت دیگری) باشد.

منشا

این “سیاست همان منشا” نامیده می شود. برای حل این مسئله ، هر دو صفحه باید برای تبادل داده توافق کنند و حاوی یک کد جاوا اسکریپت خاص است که آن را مدیریت می کند. ما در آموزش به آن خواهیم پرداخت.

این محدودیت ، برای ایمنی کاربر است. صفحه ای از http://anysite.com که یک کاربر باز کرده است نباید بتواند به یک برگه مرورگر دیگر با URL http://gmail.com دسترسی پیدا کند و اطلاعات را از آنجا بدزدد.

  • جاوا اسکریپت می تواند به راحتی از طریق شبکه با سروری که صفحه فعلی از آن آمده ارتباط برقرار کند. اما توانایی آن در دریافت داده از سایت ها / دامنه های دیگر فلج است. اگرچه ممکن است ، اما از طرف دور به توافق صریح (بیان شده در سرصفحه های HTTP) نیاز دارد. یک بار دیگر ، این یک محدودیت ایمنی است.
زبان جاوا اسکریپت

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

چه چیزی زبان JavaScript را منحصر به فرد می کند؟

حداقل سه چیز جالب در مورد زبان جاوا اسکریپت (JavaScript) وجود دارد:

ادغام کامل با HTML / CSS.
کارهای ساده به سادگی انجام می شود.
پشتیبانی توسط همه مرورگرهای اصلی و بصورت پیش فرض فعال می شود.
JavaScript تنها فناوری مرورگری است که این سه مورد را با هم ترکیب می کند.

این چیزی است که زبان جاوا اسکریپت را منحصر به فرد می کند. به همین دلیل گسترده ترین ابزار برای ایجاد رابط های مرورگر است.

همانطور که گفته شد ، JavaScript همچنین امکان ایجاد سرور ، برنامه های تلفن همراه و غیره را فراهم می کند.

زبان جاوا اسکریپت

زبانهای “روی” جاوا اسکریپب


نحو زبان جاوا اسکریپت ( JavaScript) متناسب با نیازهای همه نیست. افراد مختلف ویژگی های مختلفی می خواهند.

این انتظار می رود ، زیرا پروژه ها و الزامات برای همه متفاوت است.

بنابراین اخیراً انبوهی از زبانهای جدید ظاهر شده است که قبل از اجرا در مرورگر به JavaScript منتقل می شوند (تبدیل می شوند).

ابزارهای مدرن چاپ را بسیار سریع و شفاف می کنند. در واقع به توسعه دهندگان اجازه میدهد تا به زبان دیگری کد بزنند و آن را به صورت خودکار “زیر کاپوت” تبدیل کنند.

نمونه هایی از این زبان ها:

CoffeeScript یک قند نحوی برای JavaScript است. این دستور مختصر را معرفی می کند و به ما امکان می دهد کدهای واضح و دقیق تری بنویسیم. معمولاً توسعه دهندگان روبی آن را دوست دارند.
TypeScript بر ساده سازی “تایپ دقیق داده ها” متمرکز شده است تا توسعه و پشتیبانی از سیستم های پیچیده را ساده کند. توسط مایکروسافت ساخته شده است.
Flow همچنین تایپ داده را اضافه می کند ، اما به روشی متفاوت. توسعه یافته توسط فیس بوک.
دارت یک زبان مستقل است که دارای موتور خاص خود است. که در محیط های غیر مرورگر (مانند برنامه های تلفن همراه) کار می کند. اما همچنین می تواند به JavaScript منتقل شود. ساخته شده توسط گوگل.
Brython یک سرویس دهنده Python به JavaScript است. که نوشتن برنامه ها را در Python خالص و بدون JavaScript امکانپذیر می کند.
Kotlin یک زبان برنامه نویسی مدرن ، موجز و ایمن است که می تواند مرورگر یا Node را هدف قرار دهد.
تعداد بیشتری وجود دارد. البته، حتی اگر از یکی از زبانهای قابل انتقال استفاده کنیم، باید JavaScript را نیز بدانیم تا واقعاً بفهمیم چه کاری انجام می دهیم.

خلاصه

  • زبان جاوا اسکریپت در ابتدا به عنوان یک زبان فقط مرورگر ایجاد شده است ، اما اکنون در بسیاری از محیط های دیگر نیز از آن استفاده می شود.
  • امروزه ، جاوا اسکریپت موقعیتی منحصر به فرد به عنوان گسترده ترین زبان مرورگر با یکپارچه سازی کامل در HTML / CSS دارد.
  • زبانهای زیادی وجود دارند که به JavaScript “انتقال یافته” و ویژگیهای خاصی را ارائه می دهند. توصیه می شود پس از تسلط بر جاوا اسکریپت ، حداقل به طور خلاصه نگاهی به آنها بیندازید.

منبع: متن این مقاله ترجمه شده و برگرفته از سایت رسمی جاوا اسکریپت می باشد.

با آلفا سایبر همراه باشید تا همیشه به روز بمانید.

0.00 avg. rating (0% score) - 0 votes
0 نظرات

بدون نظر