ES2017 (ES8) ilə Javascript-ə gələn yeniliklər nələrdir?

Emin Qasimov
3 min readJun 18, 2019

ECMAScript 2017 (ES8) 2017-ci il iyunda çıxarılmışdır. Bu məqalədə ES2017 ilə gələn yeniliklərin nələr olduğunu və onunla necə kodumuzu daha aydın və oxunaqlı etməyi öyrənəcəyik.

Object.values()

Bu metod obyektlərin öz(! prototype-da axtarış etmir) key:value (name:value) cütlərindən yalnız dəyərləri (values) array şəkilində bizə qaytarır. buna oxşar Object.keys() isə yalnız verilmiş obyektin öz(!) key hissələrini array halında qaytarır və Es5(Es2009) ilə standarta çevrilmişdir.

Object.values() həmçinin String tiplərini də split(“”) metodu kimi array-ə çevirir. ancaq Es5-də // TypeError: "foo" is not an object (ES5 code) bu error ilə qarşılaşa bilərsiniz. Es6 — dan sonra dəstəklənir.

Object.values()

Object.entries()

Bu metod sanki Object.values()Object.keys() metodların etdiklərini ortaq halda edir. həm key həm də value eyni array-də yığılır.

String.prototype.padEnd()

padEnd() iki parametr qəbul edir. birinci string-in nə qədər uzun olmasını, ikinci parametr isə əgər string-in uzunluğu göstərilən ədəddən az olarsa qalan boş yerləri nə ilə doldurmağı bildirir.

String.prototype.padStart()

bu da padEnd kimi boş qalan yerləri doldurur amma başdan edir. sondan yox

Object.getOwnPropertyDescriptors()

Bu method adından da bilindiyi kimi yalnız verilən objektin öz propsları(properties qısaca props deyəcəm) haqda məlumat verir.

value — propun dəyər nədir.

writable — propun dəyəri dəyişə bilinirmi . true və ya false

get —ele funksiyadırki siz propun dəyərini funksiyanı mötərizə ilə () çağırmadan əldə edə bilərsiniz.

set — ele funksiyadırki siz obyektin propunun dəyərini funksiyanı mötərizə ilə () çağırmadan dəyışdirə bilərsiniz.

configurable — propun dəyəri silinə bilinirmi . true və ya false

enumerable — prop looplarda( enumeration — for in) hesaba qatılırmı. true və ya false

Trailing commas in function parameter lists

Əvvəllər obyektlərin son prop-unda, array-lərin son elementində yaddan çıxan vergüllər error yaradırdı. ECMAScript 5 -dən sonra artıq sonda unudulan vergüllər problem yaratmır. Buna Dangling comma da deyilir. Ancaq bu özəllik funksiyaların axırıncı parametirində unudulan vergüllər ES8 -dən sonra error vermir.

Async Functions

Javascript-də asinkron(asynchronous) əməliyyatları sinkron(ardıcıl) şəkilində oxşadan sintaktik qaydadır. kobudca Promise və generatorların birləşməsindən yaranıb deyə bilərik.

Aşağıdakı variantlarda yazıla bilər.

  • Async function declarations: async function foo() {}
  • Async function expressions: const foo = async function () {};
  • Async method definitions: let obj = { async foo() {} }
  • Async arrow functions: const foo = async () => {};

Await yalnız async funksiyaların içində olur bir növ dəyər yield edir(qaytarır).

async function(url) {
let request = await fetch(url)
let text = await request.text()
}

Asinkron programlama Javacsript-in əsas fundamental və geniş mövzularından biridir. ona görə bu məqələnin kontextindən çox uzaqlaşmamaq üçün məqaləni burdaca sonlandırıram.

--

--