ECMAScript 2017

  • Предыдущая страница JS 2016
  • Следующая страница JS 2018

Названия JavaScript начинаются с ES1, ES2, ES3, ES5 и ES6.

Но ECMAScript 2016 и 2017 не называются ES7 и ES8.

С 2016 года новые версии называются по годам (ECMAScript 2016/2017/2018).

Новые функции в ECMAScript 2017

Эта глава знакомит с новыми функциями ECMAScript 2017:

  • Заполнение строк в JavaScript
  • Object.entries в JavaScript
  • Object.values в JavaScript
  • Асинхронные функции JavaScript
  • Общий память JavaScript

Заполнение строк в JavaScript

ECMAScript 2017 добавил два новых метода String:padStart и padEndДля поддержки заполнения в начале и в конце строки.

пример

let str = "5";
str = str.padStart(4,0);
// Результат: 0005

Попробуйте сами

пример

let str = "5";
let str = "5";
str = str.padEnd(4,0);

Попробуйте сами

// Результат: 5000

Internet Explorer не поддерживает заполнение строк.

Chrome IE Firefox Safari Opera
Firefox и Safari стали первыми браузерами, поддерживающими JavaScript-заполнение строк: Edge 15 Firefox 48 Safari 10 Opera 44
Март 2017 года Апрель 2017 года 2016 год 8 августа 2016 год 9 сентября Март 2017 года

входы JavaScript объекта

ECMAScript 2017 добавил новые Object.entries метод.

Метод Object.entries() возвращает массив пар ключ/значение из объекта:

пример

const person = {
  firstName : "Bill",
  lastName : "Gates",
  age : 50,
  eyeColor : "blue"
};
document.getElementById("demo").innerHTML = Object.entries(person);

Попробуйте сами

Object.entries() упрощает использование объектов в цикле:

пример

const fruits = {Bananas:300, Oranges:200, Apples:500};
let text = "";
for (let [fruit, value] of Object.entries(fruits)) {
text += fruit + ": " + value + "
";
}

Попробуйте сами

Object.entries() также упрощает преобразование объекта в карту:

пример

const fruits = {Bananas:300, Oranges:200, Apples:500};
const myMap = new Map(Object.entries(fruits));

Попробуйте сами

Chrome и Firefox стали первыми, кто поддержал Object.entries браузеры:

Chrome IE Firefox Safari Opera
Chrome 47 Edge 14 Firefox 47 Safari 10.1 Opera 41
2016 год 6 июня 2016 год 8 августа 2016 год 6 июня Март 2017 года Октябрь 2016 года

значениям JavaScript объекта

Object.values аналогичен Object.entriesно возвращает одномерный массив значений объекта:

пример

const person = {
  firstName : "Bill",
  lastName : "Gates",
  age : 50,
  eyeColor : "blue"
};
document.getElementById("demo").innerHTML = Object.values(person);

Попробуйте сами

Firefox и Chrome стали первыми, кто поддержал Object.values браузеры:

Chrome IE Firefox Safari Opera
Chrome 54 Edge 14 Firefox 47 Safari 10.1 Opera 41
Октябрь 2016 года 2016 год 8 августа 2016 год 6 июня Март 2017 года Октябрь 2016 года

Асинхронные функции JavaScript

ждать таймаут

async function myDisplay() {
  let myPromise = new Promise(function(myResolve, myReject) {
    setTimeout(function() { myResolve("I love You !!"); }, 3000);
  });
  document.getElementById("demo").innerHTML = await myPromise;
}
myDisplay();

Попробуйте сами

Firefox и Chrome —第一批 поддерживающие асинхронные функции JavaScript браузеры:

Chrome IE Firefox Safari Opera
Chrome 55 Edge 15 Firefox 52 Safari 11 Opera 42
Декабрь 2016 года Апрель 2017 года Март 2017 года Сентябрь 2017 года Декабрь 2016 года
  • Предыдущая страница JS 2016
  • Следующая страница JS 2018