ECMAScript 2017
JavaScript 2017 dagi yangi xususiyatlar
| Xususiyat | Tavsif |
|---|---|
String padStart() | Satr boshini to'ldiradi |
String padEnd() | Satr oxirini to'ldiradi |
Object.entries() | Obyektning kalit/qiymat juftlari massivini qaytaradi |
Object.values() | Obyektning qiymatlari massivini qaytaradi |
async va await | Promiselar bilan ishlashni soddalashtiradi |
| Oxirgi vergullar | Vergul bilan ajratilgan qiymatlar ro'yxatida oxirgi vergullarga ruxsat beradi |
getOwnPropertyDescriptors | Obyektning barcha o'z xususiyat deskriptorlarini o'z ichiga olgan obyekt qaytaradi |
JavaScript 2017 barcha zamonaviy brauzerlarda 2017-yil sentyabr dan beri qo'llab-quvvatlanadi.
JavaScript satr to'ldirish
ECMAScript 2017 JavaScript-ga ikkita satr metodini qo'shdi: padStart() va padEnd() — satr boshida va oxirida to'ldirishni qo'llab-quvvatlash uchun.
let text = '5'
text = text.padStart(4, 0) // "0005"let text = '5'
text = text.padEnd(4, 0) // "5000"JavaScript Object entries
ECMAScript 2017 obyektlarga Object.entries() metodini qo'shdi. Object.entries() obyektdagi kalit/qiymat juftlari massivini qaytaradi:
const person = {
firstName: 'John',
lastName: 'Doe',
age: 50,
eyeColor: 'blue'
}
let text = Object.entries(person)Object.entries() obyektlarni tsikllarda ishlatishni osonlashtiradi:
const fruits = { Bananas: 300, Oranges: 200, Apples: 500 }
let text = ''
for (let [fruit, value] of Object.entries(fruits)) {
text += fruit + ': ' + value + '\n'
}Object.entries() obyektlarni Map larga aylantishni ham osonlashtiradi:
const fruits = { Bananas: 300, Oranges: 200, Apples: 500 }
const myMap = new Map(Object.entries(fruits))JavaScript Object values
Object.values() Object.entries() ga o'xshaydi, lekin obyekt qiymatlarining bir o'lchovli massivini qaytaradi:
const person = {
firstName: 'John',
lastName: 'Doe',
age: 50,
eyeColor: 'blue'
}
let text = Object.values(person)JavaScript asinxron funksiyalar
async function myDisplay() {
let myPromise = new Promise(function (myResolve, myReject) {
setTimeout(function () {
myResolve('I love You !!')
}, 3000)
})
document.getElementById('demo').innerHTML = await myPromise
}
myDisplay()JavaScript oxirgi vergullar
JavaScript vergul bilan ajratilgan qiymatlar ro'yxati qabul qilinadigan har joyda oxirgi vergullarga ruxsat beradi — massiv va obyekt literallarida, funksiya chaqiruvlarida, parametrlarda, importlar va eksportlarda.
function myFunc(x,,,) {}
const myArr = [1, 2, 3, 4,,,]
const myObj = { fname: 'John', age: 50,,, }Object.getOwnPropertyDescriptors() metodi
Object.getOwnPropertyDescriptors() berilgan obyektning barcha o'z xususiyat deskriptorlarini qaytaradi.
const myProp = Object.getOwnPropertyNames(person)const myProp = Object.getOwnPropertyDescriptors(person)Xususiyat deskriptori xususiyatning barcha atributlarini tavsiflovchi obyektdir:
- value: Xususiyat qiymati
- writable: true agar xususiyat qiymati o'zgartirilishi mumkin bo'lsa
- enumerable: true agar xususiyat tsikllarda ko'rinsa (for...in, Object.keys())
- configurable: true agar xususiyat deskriptori o'zgartirilishi yoki o'chirilishi mumkin bo'lsa
- get: Xususiyat qiymatini olish funksiyasi (accessor xususiyatlar uchun)
- set: Xususiyat qiymatini o'rnatish funksiyasi (accessor xususiyatlar uchun)
Obyekt klonlash
Object.getOwnPropertyDescriptors() ko'pincha getter, setter va xususiyat atributlarini saqlab qolgan holda obyektlarni klonlash uchun ishlatiladi:
const clone = Object.defineProperties(
{},
Object.getOwnPropertyDescriptors(person)
)