- ECMAScript 1 (ES1) - 1997 yil
Birinchi versiya bo'lib, asosiy sintaksis va xususiyatlar joriy etilgan.
- ECMAScript 2 (ES2) - 1998 yil
Asosan ES1-ga kichik tuzatuvlar va moslik yangilanishlarini kiritgan
- ECMAScript 3 (ES3) - 1999 yil
ES3 katta yangilanish bo'lib, oddiy qatorlar, izlanish va almashtirish funktsiyalari, maxsus tartiblash (sorting) va boshqalarni qo'shdi.
- ECMAScript 4 (ES4)
ES4 hech qachon rasmiy ravishda chiqarilmagan, chunki ishlab chiqish jarayonida ko'plab muammolar va kelishmovchiliklar yuzaga keldi.
- ECMAScript 5 (ES5) - 2009 yil
Bu versiya keng qamrovli yangilanish bo'lib, quyidagilarni o'z ichiga oladi:
1. Qat'iy rejim ("strict mode")
2. JSON ob'ekt
3. Array.isArray, Function.bind kabi yangi funktsiyalar
4. Har xil array metodlar (forEach, map, filter, reduce)
5. Property attribute'larini boshqarish
- ECMAScript 6 (ES6) / ECMAScript 2015
Bu versiya JavaScript tiliga eng katta yangilanishlardan biri hisoblanadi:
1. Blok darajasidagi o'zgaruvchilar (let, const)
2. Arrow funktsiyalar
3. Sinflar (class)
4. Modullar (import, export)
5. Promises
6. Template literals
7. Default, rest va spread parametrlari
- ECMAScript 2016 (ES7)
Bu versiyada nisbatan kamroq yangilanishlar bor edi:
1. Array.prototype.includes
2. Exponentiation operatori (**)
- ECMAScript 2017 (ES8)
Ushbu versiya quyidagi xususiyatlarni kiritdi:
1. Async/Await
2. Object.values va Object.entries
3. String padding (padStart, padEnd)
4. Object.getOwnPropertyDescriptors
- ECMAScript 2018 (ES9)
Bu versiyada quyidagilar mavjud:
1. Asynchronous iteration (for-await-of)
2. Rest/Spread properties
3. Promise.finally
4. Regular Expression enhancements
- ECMAScript 2019 (ES10)
Bu versiyada quyidagilar mavjud:
1. Array.prototype.flat, Array.prototype.flatMap
2. Object.fromEntries
3. String.prototype.trimStart, String.prototype.trimEnd
4. Optional catch binding
- ECMAScript 2020 (ES11)
Bu versiyada quyidagilar mavjud:
1. BigInt
2. Dynamic import
3. Nullish Coalescing (??)
4. Optional Chaining (?.)
5. Promise.allSettled
- ECMAScript 2021 (ES12)
Bu versiyada quyidagilar mavjud:
1. Logical assignment operators (&&=, ||=, ??=)
2. Numeric separators
3. String.prototype.replaceAll
4. WeakRefs
- ECMAScript 2022 (ES13)
Yangi xususiyatlar:
1. Top-level await
2. Private instance fields
3. Static class fields
4. RegExp match indices
Top comments (0)