ECMAScript 2017
Die JavaScript-naamkonvensie het begin met ES1, ES2, ES3, ES5 en ES6.
Maar ECMAScript 2016 en 2017 is nie ES7 en ES8 genoem nie.
Sedert 2016 word nuwe weergawes volgens jaar benoem (ECMAScript 2016 / 2017 / 2018).
Nuwe kenmerke in ECMAScript 2017
Hierdie hoofstuk stel die nuwe kenmerke in ECMAScript 2017 bekend:
- JavaScript String opvulling
- JavaScript Object.inskrywings
- JavaScript Object.values
- JavaScript asynchrone funksies
- JavaScript het gedeelde geheue
JavaScript String Padding
ECMAScript 2017 het twee stringmetodes bygevoeg: padStart
en padEnd
om vulling aan die begin en aan die einde van 'n string te ondersteun.
Voorbeeld
let str = "5";
str = str.padStart(4,0);
// result is 0005
Voorbeeld
let str = "5";
str = str.padEnd(4,0);
// result is 5000
String Padding word nie in Internet Explorer ondersteun nie.
Firefox en Safari was die eerste blaaiers met ondersteuning vir JavaScript-stringopvulling:
Chrome 57 | Edge 15 | Firefox 48 | Safari 10 | Opera 44 |
Mar 2017 | Apr 2017 | Aug 2016 | Sep 2016 | Mar 2017 |
JavaScript-objek-inskrywings
ECMAScript 2017 voeg 'n nuwe Object.entries
metode by voorwerpe.
Die Object.entries()-metode gee 'n skikking van die sleutel/waarde-pare in 'n objek terug:
Voorbeeld
const person = {
firstName : "John",
lastName : "Doe",
age : 50,
eyeColor : "blue"
};
document.getElementById("demo").innerHTML =
Object.entries(person);
Object.entries() maak dit maklik om voorwerpe in lusse te gebruik:
Voorbeeld
const fruits = {Bananas:300, Oranges:200, Apples:500};
let text = "";
for (let [fruit, value] of Object.entries(fruits)) {
text += fruit + ": " + value + "
";
}
Object.entries() maak dit ook maklik om voorwerpe na kaarte om te skakel:
Voorbeeld
const fruits = {Bananas:300, Oranges:200, Apples:500};
const myMap = new Map(Object.entries(fruits));
Chrome en Firefox was die eerste blaaiers met ondersteuning vir
Object.entries
:
Chrome 47 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
Jun 2016 | Aug 2016 | Jun 2016 | Mar 2017 | Oct 2016 |
JavaScript-objekwaardes
Object.values
is soortgelyk aan Object.entries
, maar gee 'n enkele dimensie-skikking van die objekwaardes terug:
Voorbeeld
const person = {
firstName : "John",
lastName : "Doe",
age : 50,
eyeColor : "blue"
};
document.getElementById("demo").innerHTML =
Object.values(person);
Firefox en Chrome was die eerste blaaiers met ondersteuning vir
Object.values
:
Chrome 54 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
Oct 2016 | Aug 2016 | Jun 2016 | Mar 2017 | Oct 2016 |
JavaScript Async Funksies
Wag vir 'n Time-out
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 en Chrome was die eerste blaaiers met ondersteuning vir asynchrone JavaScript-funksies:
Chrome 55 | Edge 15 | Firefox 52 | Safari 11 | Opera 42 |
Dec 2016 | Apr 2017 | Mar 2017 | Sep 2017 | Dec 2016 |