OPEN BLOG banner

OPEN BLOG

002. JavaScript va uning versiyalari haqida

@khodieff
OPEN BLOGcover

JavaScript versiyalari dasturlash tilining rivojlanishini va yangi xususiyatlar qo’shilishini ifodalaydi. JavaScriptning versiyalari asosan ECMAScript standarti orqali belgilanadi. ECMAScript — bu JavaScriptni standartlashtirish uchun ishlab chiqilgan bir hujjat bo’lib, yangi versiyalar har yili chiqariladi. Quyida JavaScriptning muhim versiyalari va ularning asosiy xususiyatlari haqida qisqacha ma’lumot:

khodieff.uz

ECMAScript Versiyalari

1. ECMAScript 1 (ES1)

  • Chop etilgan: 1997
  • Asosiy xususiyatlar: Bu JavaScriptning birinchi rasmiy versiyasi edi. U dasturiy tilning asosiy sintaksisini va funksiyalarini belgiladi.

2. ECMAScript 2 (ES2)

  • Chop etilgan: 1998
  • Asosiy xususiyatlar: Asosan ES1 standarti bo’yicha kichik yangilanishlarni o’z ichiga oldi va ba’zi xatolarni to’g’riladi.

3. ECMAScript 3 (ES3)

  • Chop etilgan: 1999

  • Asosiy xususiyatlar: Kattaroq o’zgarishlar kiritildi, jumladan:

    • RegExp: Yangi xususiyatlar qo’shildi, masalan, qidiruv va almashtirish funksiyalari.
    • try/catch: Xatoliklarni tutish uchun yangi usul.
    • Array metodlari: forEach, map, filter, reduce, va boshqalar.

4. ECMAScript 4 (ES4)

  • Chop etilgan: ES4 versiyasi hech qachon rasmiylashtirilmagan. Bu versiya ko’plab o’zgarishlarni o’z ichiga olgan, ammo kelishmovchiliklar tufayli qabul qilinmagan.

5. ECMAScript 5 (ES5)

  • Chop etilgan: 2009

  • Asosiy xususiyatlar:

    • Strict mode: Dasturlashda xatolarni aniqlash uchun qat’iy rejim.
    • Getter va Setter: Ob’ektlar uchun qiymatlarni olish va o’rnatish metodlari.
    • Array metodlari: forEach, map, filter, reduce, va boshqalar.
    • JSON: JSON (JavaScript Object Notation) uchun qo’llab-quvvatlash.

6. ECMAScript 6 (ES6) / ECMAScript 2015

  • Chop etilgan: 2015

  • Asosiy xususiyatlar:

    • let va const: Yangi o’zgaruvchi e’lon qilish sintaksislari.
    • Arrow Functions: Kichik va aniq funksiyalar yozish sintaksisi.
    • Classes: Obyektga yo’naltirilgan dasturlash uchun sinflar.
    • Template Literals: Xatoliklarni oldini olish va oson matn birlashtirish.
    • Destructuring: Ob’ekt va massivlarni soddaroq va qulayroq ajratish.
    • Promises: Asinxron kodni boshqarish uchun yangi usul.

7. ECMAScript 7 (ES7) / ECMAScript 2016

  • Chop etilgan: 2016

  • Asosiy xususiyatlar:

    • Exponentiation Operator: Yaratish uchun ** operatori, masalan, 2 ** 3 = 8.
    • Array.prototype.includes: Massivlarda ma’lumotni tekshirish uchun yangi metod.

8. ECMAScript 8 (ES8) / ECMAScript 2017

  • Chop etilgan: 2017

  • Asosiy xususiyatlar:

    • Async/Await: Asinxron operatsiyalarni soddalashtirish uchun.
    • Object.entries/Object.values: Ob’ektdagi qiymatlarni olish metodlari.
    • String padding: padStart va padEnd metodlari.

9. ECMAScript 9 (ES9) / ECMAScript 2018

  • Chop etilgan: 2018

  • Asosiy xususiyatlar:

    • Asynchronous Iteration: for-await-of tsikli yordamida asinxron massivlarni iteratsiya qilish.
    • Rest/Spread Properties: Ob’ektlarning qoldiq va tarqalish xususiyatlari.

10. ECMAScript 10 (ES10) / ECMAScript 2019

  • Chop etilgan: 2019

  • Asosiy xususiyatlar:

    • Array.prototype.flat/flatMap: Massivlarni tekislash va o’zgartirish.
    • Object.fromEntries: Juftliklardan ob’ekt yaratish.
    • String.prototype.trimStart/trimEnd: Matnlarni boshlanishidan va oxiridan trimlash.

11. ECMAScript 11 (ES11) / ECMAScript 2020

  • Chop etilgan: 2020

  • Asosiy xususiyatlar:

    • Optional Chaining: ?. operatori orqali null yoki undefined qiymatlarni boshqarish.
    • Nullish Coalescing Operator: ?? operatori orqali qiymatlar o’zgarishini boshqarish.
    • BigInt: Juda katta sonlar bilan ishlash uchun yangi ma’lumot turi.
    • Promise.allSettled: Promislarning barcha holatlarini tekshirish.

12. ECMAScript 12 (ES12) / ECMAScript 2021

  • Chop etilgan: 2021

  • Asosiy xususiyatlar:

    • Logical Assignment Operators: Yangi qisqartirilgan assignment operatorlari (&&=, ||=, ??=).
    • WeakRef: Yengil ob’ektlarni boshqarish uchun yangi ma’lumot turi.
    • String.prototype.replaceAll: Barcha mos tushuvlarni almashtirish metodini qo’shdi.

13. ECMAScript 13 (ES13) / ECMAScript 2022

  • Chop etilgan: 2022

  • Asosiy xususiyatlar:

    • Top-level await: Modul darajasida await foydalanish imkoniyati.
    • Class Fields: Sinf maydonlari uchun yangi sintaksis.
    • Private Methods: Maxfiy metodlar va xususiyatlar sinflarda.
    • at() Method: Massiv elementlarini indeks orqali olish usuli.

14. ECMAScript 14 (ES14) / ECMAScript 2023

  • Chop etilgan: 2023

  • Asosiy xususiyatlar:

    • Array.prototype.findLast/findLastIndex: Massiv elementlarini oxiridan izlash metodlari.
    • Hashbang: JavaScript fayllarini bajarish uchun yangi sintaksis qo’shildi.
    • import.meta: Modul kontekstida ma’lumotlarni olish uchun.

Xulosa

JavaScript tili vaqt o’tishi bilan yangilangan va rivojlangan. Har bir yangi ECMAScript versiyasi dasturlash tajribasini yaxshilash, kodni soddalashtirish va yangi xususiyatlarni qo’shish maqsadida chiqariladi. Har bir versiya o’ziga xos xususiyatlar va imkoniyatlarni taqdim etadi, shuning uchun zamonaviy JavaScript dasturchilari eng so’nggi standartlarga rioya qilishlari muhimdir.

Keyingi postlarda davom etamiz.

    Ulashish: