This site is mobile accessible. Press the "Tap Here" button to use a different font-size.


Smartphone icons created by Freepik - Flaticon

  • 9.5 JS 2017

    • The JavaScript naming convention started with ES1, ES2, ES3, ES5 and ES6.
    • But, ECMAScript 2016 and 2017 was not called ES7 and ES8.
    • Since 2016 new versions are named by year (ECMAScript 2016, ECMAScript 2017).

    New Features in ECMAScript 2017

    This chapter introduces the new features in ECMAScript 2017

    • JavaScript String padding
    • JavaScript Object.entries
    • JavaScript Object.values
    • JavaScript async functions
    • JavaScript shared memory

    JavaScript String Padding

    ECMAScript 2017 added two String methods: padStart and padEnd to support padding at the beginning and at the end of a string.

    Example 1: JS Strings - The padStart() Method
    let str = "5";
    str = str.padStart(4,0);
    // result is 0005
    Example 2: JS Strings - The padEnd() Method
    let str = "5";
    str = str.padEnd(4,0);
    // result is 5000
    • String Padding is not supported in Internet Explorer.
    • Firefox and Safari were the first browsers with support for JavaScript string padding:
    Chrome browser Edge browser Firefox browser Safari browser Opera browser
    Chrome 57 Edge 15 Firefox 48 Safari 10 Opera 44
    Mar 2017 Apr 2017 Aug 2016 Sep 2016 Mar 2017

    JavaScript Object Entries

    ECMAScript 2017 adds a new Object.entries method to objects:

    Example 3: JS Object Methods - Object.entries() method
    const person = {
      firstName : "John",
      lastName : "Doe",
      age : 50,
      eyeColor : "blue"
    };
    document.getElementById("demo").innerHTML = Object.entries(person);

    Chrome and Firefox were the first browsers with support for Object.entries:

    Chrome browser Edge browser Firefox browser Safari browser Opera browser
    Chrome 47 Edge 14 Firefox 47 Safari 10.1 Opera 41
    Jun 2016 Aug 2016 Jun 2016 Mar 2017 Oct 2016

    JavaScript Object Values

    Object.values are similar to Object.entries, but returns a single dimension array of the object values:

    Example 4: JS Object Methods - Object.values() method
    const person = {
      firstName : "John",
      lastName : "Doe",
      age : 50,
      eyeColor : "blue"
    };
    document.getElementById("demo").innerHTML = Object.values(person);

    Firefox and Chrome were the first browsers with support for Object.values:

    Chrome browser Edge browser Firefox browser Safari browser Opera browser
    Chrome 54 Edge 14 Firefox 47 Safari 10.1 Opera 41
    Oct 2016 Aug 2016 Jun 2016 Mar 2017 Oct 2016

    JavaScript Async Functions

    Waiting for a Timeout
    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 were the first browsers with support for async JavaScript functions:

    Chrome browser Edge browser Firefox browser Safari browser Opera browser
    Chrome 55 Edge 15 Firefox 52 Safari 11 Opera 42
    Dec 2016 Apr 2017 Mar 2017 Sep 2017 Dec 2016
    Navigate this module

    Eventually the navigation links, above, will be replaced by these << (previous) and >> (next) buttons below.



    JavaScript icons used in the buttons provided by ICONS8.COM. Smartphone icons created by Freepik - Flaticon