Skip to content

ECMAScript 2017

JavaScript 2017 dagi yangi xususiyatlar

XususiyatTavsif
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 awaitPromiselar bilan ishlashni soddalashtiradi
Oxirgi vergullarVergul bilan ajratilgan qiymatlar ro'yxatida oxirgi vergullarga ruxsat beradi
getOwnPropertyDescriptorsObyektning 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.

js
let text = '5'
text = text.padStart(4, 0) // "0005"
js
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:

js
const person = {
  firstName: 'John',
  lastName: 'Doe',
  age: 50,
  eyeColor: 'blue'
}

let text = Object.entries(person)

Object.entries() obyektlarni tsikllarda ishlatishni osonlashtiradi:

js
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:

js
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:

js
const person = {
  firstName: 'John',
  lastName: 'Doe',
  age: 50,
  eyeColor: 'blue'
}

let text = Object.values(person)

JavaScript asinxron funksiyalar

js
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.

js
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.

js
const myProp = Object.getOwnPropertyNames(person)
js
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:

js
const clone = Object.defineProperties(
  {},
  Object.getOwnPropertyDescriptors(person)
)