Recognized by Clutch.co as a top-rated Mobile App Development Company.
folio3-mobile
US 408 365 4638
START YOUR PROJECT
  • Solutions
    • Apps Discovery Services
    • Team Augmentation
    • Enterprise
    • AR/VR
    • IoT
    • Wearables
    • Field Sales
    • On Demand Apps
  • Industries
    • Retail
    • Agriculture
    • Healthcare
    • Pharmaceutical & Life Sciences
    • Manufacturing
    • Automotive
    • Logistics
    • Education
  • Technologies
    • Native Mobile Apps
      • iOS
      • Android
    • Cross Platform Apps
      • React Native
      • Flutter
      • Ionic
      • Xamarin
      • NativeScript
      • Sencha
  • Portfolio
  • Blog
  • Contact Us
  • Solutions
    • Apps Discovery Services
    • Team Augmentation
    • Enterprise
    • AR/VR
    • IoT
    • Wearables
    • Field Sales
    • On Demand Apps
  • Industries
    • Retail
    • Agriculture
    • Healthcare
    • Pharmaceutical & Life Sciences
    • Manufacturing
    • Automotive
    • Logistics
    • Education
  • Technologies
    • Native Mobile Apps
      • iOS
      • Android
    • Cross Platform Apps
      • React Native
      • Flutter
      • Ionic
      • Xamarin
      • NativeScript
      • Sencha
  • Portfolio
  • Blog
  • Contact Us

Cool new ES6 features that every JavaScript Developer must know.

Published by: Noc Folio3 | July 9, 2019
SCROLL AND BE AMAZED!
Home > Blog > Cool new ES6 features that every JavaScript Developer must know.

Hi guys. We’ll be talking about some of the cool new features that have been introduced with ECMAScript 6 or ES6. So let’s dive directly into the fun stuff.

Code Reduction is easier with ES6 arrow functions! and it’s so much fun.

ES5

function folioWorld(name) {
    return 'hello ' + name
}

ES6

const folioWorld = (name) => {
    return 'hello ' + name
}

Or

const folioWorld = (name) => {
    return `hello ${name}`;
}

And further more

const folioWorld = name => `hello ${name}`;

Isn’t it cool!

I was working on my angular project and was amazed to see that, with ES6, one can reduce bunch of lines into single statement.

Let me share my stuff with you here!

Starting from very basic piece.

Code#1 (old fashion):

switchTabById(id) {
    this.tabId = id;
}

After Refactoring:

switchTabById = (id) => this.tabId = id;

Code#2 (old fashion):

onIssueTypeChange(event) {
    if (event.id === 5) {
      this.showLots = true;
    }
    else {
      this.showLots = false;
    }
}

Level 1 Refactoring:

onIssueTypeChange(event) {
    this.showLots = (event.id === 5) ? true : false;
}

Level 2 Refactoring:

onIssueTypeChange(event) {
    this.showLots = (event.id === 5);
}

Level 3 Refactoring:

onIssueTypeChange = (event) => this.showLots = (event.id === 5);

Cool 🙂 this looks better.

Now check the difference!!

Before:

onIssueTypeChange(event) {
    if (event.id === 5) {
     this.showLots = true;
    }
    else {
     this.showLots = false;
    }
}

After:

onIssueTypeChange = (event) => this.showLots = (event.id === 5);

In this manner you can refactor your code to make it more readable, smarter, and shorter. These new cool features of ES6 are great for JavaScript developers.

It can speed up your coding and help you in structuring your code to looks smoother and fancy.

Wait!! It’s not over yet

I have extracted something very interesting from ES6 to you.

It’s JavaScript ES6 Reduce. So let’s start

Here is an array:

let myArray = [1, 2, 3, 4];

You need to iterate through an array using for loop to calculate the sum of myArray

let sum = 0;
for (let i = 0; i < myArray.length; i++) {
    sum += myArray[i];
}

Now take a look how the reduce method works its magic here!

let sum = myArray.reduce( (acc, val) => acc + val );

here acc is the accumulated result and val is each element of array.

Another Example:

Assume the following array of countries, where we need to calculate the sum of the populations of all the countries in the array.

let data = [
    {
      country: 'China',
      pop: 1409517397,
    },
    {
      country: 'Pakistan',
      pop: 339180127,
    },
    {
      country: 'USA',
      pop: 324459463,
    },
    {
      country: 'Indonesia',
      pop: 263991379,
    }
]

With reduce method you can do it at a glance!

let totalPopulation = data.reduce((acc, val) => acc + val.pop, 0);

Note: here 0 is initial value we need to put here to set initial value of sum, if you put 100 instead of 0 the net will be 100 + actual sum.

Hope this tutorial helps you in making more awesome apps!


About Noc Folio3

Newsletter

Search

Archives

  • December 2023
  • April 2023
  • March 2023
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • April 2022
  • March 2022
  • February 2022
  • October 2021
  • September 2021
  • May 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • May 2019

Recent Posts

  • Exploring Flutter Navigation: From Basics to Advanced Routes
  • Web UI Test Automation with Pytest-BDD
  • How to fix IOS compass calibration issues
  • Testing Android Applications With Perfect Coverage
  • How to use useRef hook efficiently? – React

Tags

  • android
  • angular-state-management
  • Automation
  • Compass
  • cross-platform
  • css
  • development
  • firebase
  • hooks
  • ios
  • learn-ngrx
  • ngrx-beginner
  • ngrx/store
  • QA
  • react-native
  • reactjs
  • scss
  • stylesheet
  • styling
  • Testing
  • Test Script
  • UI-UX

Newsletter

Newsletter

Post navigation

Previous Using LESS in React without Ejecting
Next Why you should start adopting Automated Testing today!
Schedule an Appointment with our Mobile App Development Expert
Footer Menu
  • Company
    • About Us
    • Portfolio
    • Blog
    • Careers
    • Contact Us
  • Solutions
    • Apps Discovery Services
    • Team Augmentation
    • Enterprise App Development
    • AR/VR Application Development
    • IoT Application Development
    • Wearables Apps Development
    • Field Sales
    • On-Demand Apps Development
  • Technologies
    • iOS
    • Android
    • React Native
    • Flutter
    • Ionic
    • Xamarin
    • NativeScript
    • HTML5
    • Sencha
  • Industries
    • Retail
    • Agriculture
    • Healthcare
    • Pharmaceutical
    • Manufacturing
    • Automotive
    • Logistics
    • Education

US Office

Belmont, California – 1301 Shoreway Road, Suite 160, Belmont, CA 94002

Pleasanton, California – 6701 Koll Center Parkway, #250 Pleasanton, CA 94566

Tel: +1 408 365 4638
Support: +1 (408) 512 1812

Mexico Office

Amado Nervo #2200, Edificio Esfera 1 piso 4, Col. Jardines del Sol, CP. 45050, Zapopan, Jalisco, Mexico

Bulgaria Office

49 Bacho Kiro Street, Sofia, 1000, Bulgaria

Canada Office​

895 Don Mills Road, Two Morneau Shepell Centre, Suite 900, Toronto, Ontario, M3C 1W3, Canada

UK Office

Export House, Cawsey Way, Woking Surrey, GU21 6QX

Tel: +44 (0) 14 8361 6611

UAE Office

Dubai, UAE – Dubai Internet City, 1st Floor, Building Number 12, Premises ED 29, Dubai, UAE

Tel: +971-55-6540154
Tel: +971-04-2505173

Pakistan Office

Folio3 Tower, Plot 26, Block B, SMCH Society, Main Shahrah-e-Faisal, Karachi.

First Floor, Blue Mall 8-R, MM Alam Road Gulberg III, Lahore.

Tel: +92-21-3432 3721-4 

© 2025, Folio3 Software Inc., All rights reserved.

  • Privacy policy and terms of use
  • Cookie Policy
Follow us on
Facebook-f Linkedin-in Instagram

Get a free app audit

[contact-form-7 id="3548" title="Float Banner Form"]