ECMAScript 2019
JavaScript 2019 dagi yangi xususiyatlar
| Xususiyat | Tavsif |
|---|---|
String trimStart() | Satr boshidagi bo'sh joylarni olib tashlaydi |
String trimEnd() | Satr oxiridagi bo'sh joylarni olib tashlaydi |
Object.fromEntries | Kalit/qiymat juftlaridan obyekt yaratadi |
| Optional catch binding | Kerak bo'lmasa catch parametrini tushirib qoldirishga imkon beradi |
Array flat() | Ichma-ich massivni yassilash orqali yangi massiv yaratadi |
Array flatMap() | Barcha massiv elementlarini xaritalaydi va massivni yassilash orqali yangi massiv yaratadi |
Qayta ko'rilgan Array sort() | Brauzerlar endi barqaror saralash algoritmidan foydalanishi kerak |
Qayta ko'rilgan JSON.stringify() | UTF-8 kod nuqtali satrlar endi xavfsiz konvertatsiya qilinadi |
| Satrlarda ajratgich belgilari | Qator va paragraf ajratgichlari (\u2028 va \u2029) endi satrlarda ruxsat etiladi |
Qayta ko'rilgan Function.toString() | Endi izohlar, bo'shliqlar va sintaksis tafsilotlarini o'z ichiga olgan manba kodini qaytaradi |
ECMAScript 2019 barcha zamonaviy brauzerlarda 2020-yil yanvar dan beri qo'llab-quvvatlanadi.
JavaScript String trimStart()
ES2019 JavaScript-ga String metodi trimStart() ni qo'shdi. trimStart() metodi trim() kabi ishlaydi, lekin bo'sh joylarni faqat satr boshidan olib tashlaydi.
let text1 = ' Hello World! '
let text2 = text1.trimStart()JavaScript String trimEnd()
ES2019 JavaScript-ga String metodi trimEnd() ni qo'shdi. trimEnd() metodi trim() kabi ishlaydi, lekin bo'sh joylarni faqat satr oxiridan olib tashlaydi.
let text1 = ' Hello World! '
let text2 = text1.trimEnd()JavaScript Object fromEntries()
ES2019 JavaScript-ga Object metodi fromEntries() ni qo'shdi. fromEntries() metodi iterabl kalit/qiymat juftlaridan obyekt yaratadi.
const fruits = [
['apples', 300],
['pears', 900],
['bananas', 500]
]
const myObj = Object.fromEntries(fruits)Ixtiyoriy catch bog'lanishi
ES2019 dan boshlab, agar kerak bo'lmasa catch parametrini tushirib qoldirishingiz mumkin:
// 2019 dan oldin:
try {
// kod
} catch (err) {
// kod
}
// 2019 dan keyin:
try {
// kod
} catch {
// kod
}JavaScript Array flat()
ES2019 JavaScript-ga Array flat() metodini qo'shdi. flat() metodi ichma-ich massivni yassilash orqali yangi massiv yaratadi.
const myArr = [
[1, 2],
[3, 4],
[5, 6]
]
const newArr = myArr.flat()JavaScript Array flatMap()
ES2019 JavaScript-ga Array flatMap() metodini qo'shdi. flatMap() metodi avval massivning barcha elementlarini xaritalaydi va keyin massivni yassilash orqali yangi massiv yaratadi.
const myArr = [1, 2, 3, 4, 5, 6]
const newArr = myArr.flatMap((x) => [x, x * 10])Barqaror Array sort()
ES2019 Array sort() metodini qayta ko'rdi. 2019 dan oldin, spetsifikatsiya QuickSort kabi beqaror saralash algoritmlariga ruxsat berardi. ES2019 dan keyin brauzerlar barqaror saralash algoritmidan foydalanishi kerak.
Elementlarni qiymat bo'yicha saralashda, elementlar bir xil qiymatga ega boshqa elementlarga nisbatan o'z nisbiy o'rnini saqlab qolishi kerak.
const myArr = [
{ name: 'X00', price: 100 },
{ name: 'X01', price: 100 },
{ name: 'X02', price: 100 },
{ name: 'X03', price: 100 },
{ name: 'X04', price: 110 },
{ name: 'X05', price: 110 },
{ name: 'X06', price: 110 },
{ name: 'X07', price: 110 }
]Qayta ko'rilgan JSON.stringify()
ES2019 JSON stringify() metodini qayta ko'rdi. 2019 dan oldin, JSON \ bilan kodlangan belgilarni stringify qila olmas edi.
let text = JSON.stringify('\u26D4')ES2019 dan oldin, JSON.stringify() ni UTF-8 kod nuqtalarida (U+D800 dan U+DFFF gacha) ishlatish buzilgan Unicode belgilarni qaytarardi. Bu qayta ko'rishdan keyin UTF-8 kod nuqtali satrlar JSON.stringify() bilan xavfsiz konvertatsiya qilinadi va JSON.parse() yordamida asl holatiga qaytariladi.
Ajratgich belgilari
Qator ajratgichlari va paragraf ajratgich belgilari (\u2028 va \u2029) endi satr literallarida ruxsat etiladi. 2019 dan oldin, ular qator terminatorlari sifatida ko'rib chiqilar va xato istisnoslariga olib kelar edi.
// Bu ES2019 da yaroqli:
let text = '\u2028'Eslatma
Endi JavaScript va JSON bir xil qoidalarga ega.
Qayta ko'rilgan Function toString()
ES2019 Function toString() metodini qayta ko'rdi. toString() metodi funksiya manba kodini ifodalovchi satr qaytaradi. 2019 dan beri toString() izohlar, bo'shliqlar va sintaksis tafsilotlarini o'z ichiga olgan manba kodini qaytarishi kerak.
function myFunction(p1, p2) {
return p1 * p2
}
let text = myFunction.toString()