10 مبانی جاوا اسکریپت
جاوا اسکریپت
جاوا اسکریپت یک زبان برنامه نویسی قدرتمند و در عین حال ساده است که آن را به زبان انتخابی برای میلیون ها کدنویس مبتدی تبدیل می کند.اگر به فکر یادگیری برنامه نویسی با جاوا اسکریپت هستید، یا این سوال رو دارید که چه چیزی باید بدانید؟ در اینجا 10 چیز وجود دارد که همه مبتدیان باید درباره جاوا اسکریپت بدانند.
1-جاوا اسکریپت جاوا نیست
جاوا اسکریپت و جاوا علیرغم نام های مشابه آنها هیچ ارتباطی با یکدیگر ندارند.
جاوا توسط Sun Microsystems توسعه داده شد، در حالی که Netscape برنامه نویس Brendan Eich را برای توسعه نسخه ای از زبان برنامه نویسی Scheme برای جاسازی در مرورگر وب Navigator خود استخدام کرد. زبان حاصل جاوا اسکریپت نام داشت که از آن زمان تاکنون باعث سردرگمی شده است.
2-جاوا اسکریپت محتوای وب فعال را تقویت می کند
قبل از توسعه جاوا اسکریپت، صفحات وب HTML کاملا ثابت بودند – نمیتوان آنها را در سمت مشتری بدون بارگیری مجدد کل صفحه تغییر داد.
جاوا اسکریپت برای غلبه بر این مشکل با اجازه دادن به تغییرات در ساختار صفحه HTML و اطلاعات سبک CSS در زمان واقعی، بدون بارگیری مجدد صفحه طراحی شده است.
کد جاوا اسکریپت در حال اجرا در مرورگر می تواند با استفاده از Ajax (جاوا اسکریپت ناهمزمان و XML) یا سوکت های وب به سرور وب ارتباط برقرار کند.
در اصل، این قابلیت به برنامه های وب تعاملی ساده اجازه می داد. به عنوان مثال، یک دکمه “پسندیدن” در یک سایت رسانه اجتماعی که به طور خودکار تعداد “لایک” در یک پست را در زمان واقعی به روز می کند. و نیازی نیس که وقتی روش کلیک میشه صفحه رفرش بشه
اما اکنون، جاوا اسکریپت جزء کلیدی تقریباً در تمام برنامههای کاربردی وب تعاملی است، از جمله پردازشگرهای کلمه و صفحات گسترده مانند
- Google Docs
- و Microsoft Office 365
- ، سرویس گیرندههای ایمیل با امکانات کامل مانند Gmail و Outlook،
- و حتی بازیهای چندنفره درون مرورگر.
3-همه مرورگرها با جاوا اسکریپت خوب تا نمی کنند – اما بهتر می شوند
زمانی که جاوا اسکریپت برای اولین بار منتشر شد، فقط در Netscape Navigator در دسترس بود و یک پیاده سازی اختصاصی بود
مایکروسافت خیلی زود جاوا اسکریپت را مهندسی معکوس کرد و نسخه خود به نام JScript را در اینترنت اکسپلورر قرار داد.
اما این بدان معناست که تفاوت های قابل توجهی بین این دو پیاده سازی وجود دارد، تا جایی که بیشتر کدها باید دو بار نوشته می شدند – یک بار برای هر مرورگر.
این امر برای سالهای متمادی ادامه یافت، حتی زمانی که نت اسکیپ و سایر مرورگرهای (غیر مایکروسافت) برای استانداردسازی فشار آوردند.
سرانجام، در اواخر دهه 2000، ظهور مرورگرهای جایگزین، مایکروسافت را مجبور کرد تا استانداردسازی جاوا اسکریپت را جدی بگیرد.
حتی هنوز هم، ویژگیهای جدید یا پیشرفته ممکن است در همه مرورگرها یکسان کار نکنند، بنابراین باید آزمایشات گستردهای انجام شود تا مطمئن شوید که یک برنامه وب روی همه یکسان عمل میکند.
4- برنامه های خیلی زیادی از چارچوب ها و کتابخانه های جاوا اسکریپت استفاده می کنند
همانطور که می توانید تصور کنید، یک برنامه وب جاوا اسکریپت با ویژگی های کامل ممکن است سال ها توسعه و آزمایش طول بکشد تا درست انجام شود.
اینجاست که کتابخانههای جاوا اسکریپت وارد میشوند. محبوبترین آنها jQuery است که در حدود 75 درصد وبسایتها استفاده میشود.
از دیگر فریم ورک های محبوب جاوا اسکریپت برای توسعه وب فرانت اند می توان به React که توسط فیسبوک ایجاد شد و Angular که توسط گوگل ایجاد شد اشاره کرد.
5-جاوا اسکریپت می تواند توسعه Back-End را نیز تقویت کند
در حالی که جاوا اسکریپت بیشتر به خاطر ریشه هایش در برنامه نویسی سمت کلاینت و فرانت اند شناخته می شود، جاوا اسکریپت فراتر از مرورگر تکامل یافته است.
Node.js یک محیط اجرای جاوا اسکریپت پشتیبان محبوب است که به توسعه دهندگان اجازه می دهد تا برنامه های وب مقیاس پذیر را به طور کامل در جاوا اسکریپت ایجاد کنند.
این موتور جاوا اسکریپت V8 گوگل را با یک حلقه رویداد و I/O API ترکیب می کند.
Node.js از طریق مخزن بسته npm خود به توسعه دهندگان امکان دسترسی به هزاران کتابخانه از پیش ساخته شده را می دهد.
6- برنامه های دسکتاپ را می توان در جاوا اسکریپت نوشت
علاوه بر برنامه های سمت سرور، جاوا اسکریپت را می توان برای ایجاد برنامه های دسکتاپ و موبایل بومی با استفاده از چارچوب های کاربردی مانند Electron، Cordova و React Native استفاده کرد.
این فریمورک ها به توسعهدهندگان اجازه میدهد از مرورگر خارج شوند و برنامههایی بسازند که از ویژگیهای بومی دسکتاپ و رابطهای کاربر بومی پشتیبانی میکنند، در حالی که از فناوریهای وب مانند جاوا اسکریپت و CSS استفاده میکنند. این برنامههای ترکیبی میتوانند زمان توسعه را حتی زمانی که به پلتفرمهای متعدد مورد نیاز است سرعت بخشند.
7-جاوا اسکریپت ضعیف است
یکی از چیزهایی که در مورد جاوا اسکریپت می تواند برای توسعه دهندگان جدید گیج کننده باشد این است که چگونه انواع متغیرها را در شرایط خاص مدیریت می کند.
به عنوان مثال، عملگر + (plus) برای جمع دودویی و همچنین الحاق رشته ها استفاده می شود.
این بدان معناست که اگر می خواهید دو عدد اضافه کنید، هر دو عملوند باید عدد باشند نه رشته. به عنوان مثال، عبارت “1” + 1 خروجی رشته “11” است، نه 2. اما “2” – 1 خروجی 1 مورد انتظار را خواهد داشت.
اگر از آن آگاه نباشید این رفتار می تواند گیج کننده باشد.
8- جاوا اسکریپت از نمونه های اولیه استفاده می کند، نه از کلاس ها
اگرچه جاوا اسکریپت از اشیاء و برنامه نویسی شی گرا پشتیبانی می کند، اما این کار را با استفاده از نمونه های اولیه انجام می دهد، نه کلاس هایی که در سایر زبان های شی گرا استفاده می شوند.
در حالی که یک کلاس ثابت است، نمونه های اولیه در جاوا اسکریپت هیچ تفاوتی با اشیاء دیگر ندارند.
این به این معنی است که آنها را می توان تغییر داد. اشیاء جدید با شبیهسازی نمونه اولیه ایجاد میشوند، و نمونه اولیه را میتوان با شبیهسازی آن به یک شی جدید گسترش داد، که سپس میتواند به عنوان نمونه اولیه برای اشیاء دیگر مورد استفاده قرار گیرد. این به توسعهدهندگان جاوا اسکریپت انعطافپذیری بیشتری میدهد،
9- جاوا اسکریپت به صورت پویا تایپ می شود
انعطاف پذیری جاوا اسکریپت با تایپ پویا بیشتر می شود. از آنجایی که همه متغیرها اساساً شی هستند، یک شی از نوع متفاوت را می توان به یک متغیر اختصاص داد.
سپس برنامه میتواند نوع شی را بهصراحت تعیین کند، یا جاوا اسکریپت میتواند از duck typing برای تعیین نوع متغیر استفاده کند.
10- JSON آرایه های جاوا اسکریپت است
JSON یک فرمت تبادل داده محبوب است که از متن ساده برای ذخیره داده ها استفاده می کند.
مخفف عبارت JavaScript Object Notation است که فرمت فایل JSON را به دقت توصیف می کند.
یک فایل JSON را می توان مستقیماً با استفاده از (eval) به یک متغیر جاوا اسکریپت وارد کرد، زیرا به معنای واقعی کلمه یک شی جاوا اسکریپت است که یک آرایه داده را نشان می دهد.
بسیاری از زبان های دیگر اکنون شامل تجزیه کننده ها و مولدهای JSON هستند که می توانند برای برقراری ارتباط با برنامه های جاوا اسکریپت استفاده شوند.
اگر برای یادگیری جاوا اسکریپت آماده هستید، چرا دوره های جاوا اسکریپت مارو را بررسی نمی کنید؟
دیدگاهتان را بنویسید