ECMAScript 2017

  • Προηγούμενη σελίδα JS 2016
  • Επόμενη σελίδα JS 2018

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 Async Functions
  • JavaScript Shared Memory

JavaScript String Padding

ECMAScript 2017 added two new String methods:padStart and padEndto support padding at the beginning and end of strings.

πρότυπο

let str = "5";
str = str.padStart(4,0);
// The result is: 0005

Προσπάθησε το εδώ

πρότυπο

let str = "5";
str = str.padEnd(4,0);
// Το αποτέλεσμα είναι: 5000

Προσπάθησε το εδώ

Internet Explorer δεν υποστηρίζει το string padding.

Firefox και Safari είναι οι πρώτοι που υποστηρίζουν τους περιηγητές JavaScript string padding:

Chrome IE Firefox Safari Opera
Chrome 57 Edge 15 Firefox 48 Safari 10 Opera 44
Μάρτιος 2017 Απρίλιος 2017 2016 Αύγουστος 2016 Σεπτέμβριος Μάρτιος 2017

εintrades αντικειμένων 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 Μάιος 2016 Αύγουστος 2016 Μάιος Μάρτιος 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 Αύγουστος 2016 Μάιος Μάρτιος 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