ECMAScript 2017
JavaScript naming conventions started with ES1, ES2, ES3, ES5, and ES6.
However, ECMAScript 2016 and 2017 were not called ES7 and ES8.
Since 2016, new versions have been named by year (ECMAScript 2016/2017/2018).
New features in ECMAScript 2017
This chapter introduces the new features of ECMAScript 2017:
- JavaScript string padding
- JavaScript Object.entries
- JavaScript Object.values
- JavaScript asynchronous functions
- JavaScript shared memory
JavaScript string padding
ECMAScript 2017 added two String methods:padStart
and padEnd
to support padding at the beginning and end of strings.
exempel
let str = "5"; str = str.padStart(4,0); // Result is: 0005
exempel
let str = "5"; str = str.padEnd(4,0); // Resultatet är: 5000
Internet Explorer stöder inte strängfyllning.
Firefox och Safari var de första som stödde JavaScript strängfyllning:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 57 | Edge 15 | Firefox 48 | Safari 10 | Opera 44 |
March 2017 | April 2017 | 2016 åren 8 augusti | 2016 åren 9 september | March 2017 |
JavaScript objekt poster
ECMAScript 2017 lade till nya Object.entries
metod.
Object.entries() metoden returnerar en array av nyckel/värde par från objektet:
exempel
const person = { firstName : ":Bill", lastName : ":Gates", age : 50, eyeColor : ":blå" }; document.getElementById("demo").innerHTML = Object.entries(person);
Object.entries() gör det enkelt att använda objekt i en loop:
exempel
const fruits = {Bananas:300, Oranges:200, Apples:500}; let text = ""; for (let [fruit, value] of Object.entries(fruits)) { text += fruit + ": " + value + " "; }
Object.entries() gör det enkelt att konvertera objekt till en karta:
exempel
const fruits = {Bananas:300, Oranges:200, Apples:500}; const myMap = new Map(Object.entries(fruits));
Chrome och Firefox var de första som stödde Object.entries
sökmotorer:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 47 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
2016 åren 6 juni | 2016 åren 8 augusti | 2016 åren 6 juni | March 2017 | October 2016 |
JavaScript objektets värden
Object.values
likt Object.entries
men returnerar en en维 array av objektets värden:
exempel
const person = { firstName : ":Bill", lastName : ":Gates", age : 50, eyeColor : ":blå" }; document.getElementById("demo").innerHTML = Object.values(person);
Firefox och Chrome var de första som stödde Object.values
sökmotorer:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 54 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
October 2016 | 2016 åren 8 augusti | 2016 åren 6 juni | March 2017 | October 2016 |
JavaScript Async Functions
Timeout waiting
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 and Chrome are the first browsers to support asynchronous JavaScript functions:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 55 | Edge 15 | Firefox 52 | Safari 11 | Opera 42 |
December 2016 | April 2017 | March 2017 | September 2017 | December 2016 |