JavaScript yetakchi dasturlash tillaridan biri. Hozirda ushbu til brauzerdan tashqarida ham keng qoʻllanilmoqda. Soʻngi yillarda Node.js ning yaratilishi esa Java, Ruby, Python va PHP kabi anʼanaviy server tillarining hukmronligiga chek qoʻydi. Shu jihatlarni inobatga olib biz sizga Javascript haqida “Qisqa satrlarda JavaScript” turkum maqolalarini taqdim etmoqdamiz. Maqolalarni yaratishda mashhur dasturchi, blogger Flavio Copes tomonidan yaratilgan qo’llanmani asosiy manba sifatida foydalandik. Qoʻllanmada 80/20 qoidasiga rioya qilingan, yaʼni vaqtingizning 20% ini sarflab, materialning 80% ini oʻrganishingiz mumkin. Shu jihati meni o’ziga rom etdi desam ham bo’ladi.
Izoh sifatida aytib qoʻyishim kerakki, terminlarni tarjima qilganda tushunmovchilik boʻlmaslik uchun asl holini qavsda berim ketdim.
Kirish
Javascript yetakchi dasturlash tillaridan biri hisoblanadi.
20 yil oldin, kamtarona va oddiy til sifatida yaratilgan.
Web brauzer toʻgʻridan-toʻgʻri qoʻllab quvvatlaydigan birinchi va hozirda, yagona script tili boʻlib kelmoqda.
Dastlab, hozirgidek qudratli emas edi, asosan, DHTML nomi bilan maʼlum boʻlgan kulgili animatsiyalar ;) yaratishda foydalanilgan.
Web platformalarga talab ortishi Javascriptga ham rivojlanish masʼuliyatini yukladi. Undan eng keng tarqalgan ekotizimlardan birining ehtiyojlarini qondirish talab qilinardi.
Dastlab, koʻp qismlari brauzer API lari orqali ishlaydigan platforma sifatida tanishtirilgan boʻlsa-da, keyinchalik katta tezlik bilan rivojlanib ketdi.
Node.js yaratilgandan keyin Javascriptdan brauzerdan tashqari joyda ham keng miqyosda foydalanila boshlandi.
Hozirda, Javascript desktop ilovalar, maʼlumotlar bazasi kabi turli xil ishlanmalar, hattoki, mobil va TV ilovalar ishlab chiqarish uchun ham foydalanilmoqda. Shunday qilib, brauzer uchun yaratilgan kichkina til hozirda, eng kuchli dasturlash tillaridan biriga aylandi.
Javascript xususiyatlari:
- yuqori pogʻonali: oʻzi ishlayotgan qurilmaning tafsilotlarini eʼtibordan chetda qoldirishga imkon beruvchi abstraktlari mavjud. Xotirani avtomatik boshqaradi, yaʼni xotirani keraksiz maʼlumotlardan tozalab turadi (garbage collector). Shunda siz xotira haqida bosh qotirmasdan, asosiy eʼtiborni kodga qaratib, istalganingizcha konstruksiya yaratishingiz — oʻzgaruvchilar va obyektlardan foydalanishingiz mumkin;
- dinamik: statik dasturlash tillaridan farqli oʻlaroq, dinamik dasturlash tillari, asosan amallarni dasturning ish jarayonida (runtime) bajaradi, statik esa, kompilyatsiya vaqtida. Buni oʻziga yarasha yaxshi va yomon tomonlari mavjud, yaxshi tomoni dinamik yozish (dynamic typing), tipsiz muvofiqlashtirish (late binding), akslantirish (reflection), funksional dasturlash, obyektni ish jarayonida oʻzgartirish (object runtime alteration), tashqi funksiyaga murojaat (closure) kabi koʻplab xususiyatlardan foydalanish imkoniyatini beradi;
- dinamik tipizatsiya (dynamically typed): oʻzgaruvchi tip talab qilmaydi. Istalgan vaqtda oʻzgaruvchiga yangi tipdagi maʼlumotni oʻzlashtirish mumkin, misol uchun string tipidagi oʻzgaruvchiga int ni oʻzlashtirisha olasiz;
- noqat’iy tipizatsiya (weakly typed): obyektlar tip oʻzlashtirmaydi, bu esa ikki xil tip ustida amal bajarish imkoniyatini taqdim etadi. Bu sifat moslashuvchanlik xususiyatini oshiradi, ammo tip xavfsizligi va tipni tekshira olish imkoniyatini yoʻqqa chiqaradi;
- interpretatsiya: JavaScript interpretatsiyalanadi, yaʼni dastur ishga tushishidan oldin C, Java dasturlash tillari kabi kompilyatsiyadan oʻtishi talab qilinmaydi. Amaliyotda esa, brauzer JavaScriptni ishga tushirishdan oldin kompilyatsiya qiladi, lekin orada qoʻshimcha jarayon yuz bermaydi;
- Multi-paradigma: ushbu til Java kabi obyektga yoʻnaltirilgan, yoki C kabi imperativ dasturlash paradigmasiga boʻysunmaydi. Istasangiz prototip yoki yangi klass sintaksisidan (ES6 dan boshlab) foydalanib obyektga yoʻnaltirilgan dasturlashdan foydalanishingiz mumkin, istasangiz funksional dasturlang, hattoki imperativ paradigmadan ham foydalanishingiz mumkin.
Hayron boʻlishingiz mumkin, JavaScriptni Java bilan nima aloqasi bor deb. JavaScript tarixiga toʻxtaladigan boʻlsak, til yangi yaratilgan vaqtda Java mashhurlikka erishib boʻlgan edi. Mashhur nom muvaffaqiyat keltiradi deb oʻylashgan yaratuvchilar. Shuning uchun yangi tilga turtki berish maqsadida Java soʻzini qoʻshib qoʻyishgan.
Hozircha shu. Kelgusi maqolalarda JavaScriptni har bir jabhasiga alohida to’xtalib o’tamiz.