جاوااسکریپت چیست و چه نقشی در دنیای وب دارد؟
اهداف یادگیری
- درک اینکه جاوااسکریپت چه زبانی است و چرا برای وب طراحی شده
- آشنایی با جایگاه جاوااسکریپت در کنار HTML و CSS
- فهم تفاوت زبان تفسیری (Interpreted) و زبان کامپایلی
- آشنایی اولیه با نقش موتور جاوااسکریپت (JavaScript Engine) در مرورگر
مقدمه
تا اینجا با HTML ساختار صفحات را ساختهاید و با CSS ظاهر و چیدمان آنها را طراحی کردهاید. اما یک وبسایت واقعی، فقط ساختار و ظاهر نیست؛ باید رفتار هم داشته باشد. وقتی روی یک دکمه کلیک میکنید و منویی باز میشود، وقتی فرمی قبل از ارسال اعتبارسنجی میشود، یا وقتی محتوای صفحه بدون رفرش شدن بهروزرسانی میشود، این جاوااسکریپت است که آن اتفاق را رقم میزند.
به زبان ساده: HTML اسکلت صفحه است، CSS ظاهر آن است و جاوااسکریپت رفتار و منطق آن است.
جاوااسکریپت دقیقاً چیست؟
جاوااسکریپت یک زبان برنامهنویسی سطح بالا، تفسیری (Interpreted) و پویا (Dynamic) است که در ابتدا برای اجرا شدن داخل مرورگر طراحی شد. برخلاف زبانهایی مثل C یا Java که قبل از اجرا باید کامپایل شوند، کد جاوااسکریپت مستقیماً توسط موتور جاوااسکریپت خوانده و اجرا میشود.
نکتهی مهم: جاوااسکریپت هیچ ارتباطی از نظر فنی با زبان Java ندارد. شباهت نام آنها بیشتر یک تصمیم بازاریابی در دهه ۹۰ میلادی بوده تا یک قرابت فنی واقعی.
موتور جاوااسکریپت چیست؟
هر مرورگر یک موتور جاوااسکریپت (JavaScript Engine) دارد که وظیفهی خواندن، تحلیل و اجرای کد جاوااسکریپت را بر عهده دارد. برای مثال:
| مرورگر | موتور جاوااسکریپت |
|---|---|
| Google Chrome و Node.js | V8 |
| Mozilla Firefox | SpiderMonkey |
| Safari | JavaScriptCore |
در این مرحله لازم نیست جزئیات این موتورها را بدانید؛ فقط کافی است بدانید هر مرورگری که صفحهی شما را باز میکند، یک موتور جاوااسکریپت دارد که کد شما را اجرا میکند.
جاوااسکریپت چه کاری برای صفحه انجام میدهد؟
با جاوااسکریپت میتوان:
- محتوای صفحه را پس از بارگذاری تغییر داد (بدون نیاز به رفرش)
- به کلیک، تایپ کردن، اسکرول و سایر رفتارهای کاربر واکنش نشان داد
- داده را از سرور دریافت یا به سرور ارسال کرد
- اطلاعات را در مرورگر ذخیره کرد
- انیمیشن، اعتبارسنجی فرم و منطق پیچیدهتر پیادهسازی کرد
در فصلهای ابتدایی این دوره، تمرکز ما فقط روی خود زبان جاوااسکریپت خواهد بود؛ ارتباط آن با HTML و DOM را در فصلهای مربوط به Browser بهطور کامل بررسی میکنیم.
مثال ساده
برای درک اولیه، به این کد ساده نگاه کنید:
console.log("سلام از جاوااسکریپت");
این خط کد، پیامی را در Console مرورگر (ابزاری برای توسعهدهندگان) چاپ میکند. console.log یکی از پرکاربردترین ابزارها برای مشاهدهی خروجی و بررسی رفتار کد در طول این دوره خواهد بود.
تحلیل کد
در مثال بالا:
consoleیک شیء (Object) است که مرورگر در اختیار جاوااسکریپت قرار میدهد.logیک متد (Method) از آن شیء است که وظیفهی چاپ کردن مقدار را دارد.- متنی که داخل پرانتز قرار میگیرد، همان چیزی است که چاپ خواهد شد.
از این پس در طول دوره، از console.log برای مشاهدهی خروجی کدها استفاده خواهیم کرد.
جمعبندی
جاوااسکریپت زبانی است که رفتار و منطق را به صفحات وب اضافه میکند. این زبان توسط موتور جاوااسکریپت هر مرورگر اجرا میشود و در کنار HTML (ساختار) و CSS (ظاهر)، ستون سوم ساخت وب را تشکیل میدهد. در درسهای بعدی، با نحوهی اجرای کد جاوااسکریپت در مرورگر و ابزارهای توسعهدهنده آشنا خواهیم شد.
