По всему Интернету вы можете увидеть аббревиатуру ES.

Что такое ЭС?

  • ES означает ECMAScript.
  • ECMAScript – это стандарт.
  • JavaScript — это язык, соответствующийстандартам ECMAScript.
  • ES2015 такой же, как ES6, пусть это вас не смущает!

Как бы то ни было… В прошлой жизни я писал ES6. Сегодня все по-другому, я вынужден писать ES5, потому что мы все еще используем встроенный bundle.config ASP .NET MVC, который не поддерживает ES6. Смена сборщика — это большая работа, поэтому я и моя команда не собираемся писать ES6 в ближайшее время. Вот некоторые из наиболее важных отличий!

ES5 vs ES6

ключевое слово let и const

ES5 не поддерживает let и const

let a;
const b = 5; //immutable

Стрелочные функции

ES5 не поддерживает стрелочные функции:

var myFunc = function(param) {
}

ES6:

var myFunc = (param) => {
}

Интерполяция строк

ES5:

console.log('Hi ' + name);

ES6 поддерживает обратные тики:

console.log(`Hi ${name}`)

Разрушение

ES5:

var obj = {a: 1, b: 2, c: 3};
    
var a = obj['a'],
    b = obj.c;
console.log(a, b);

ES6:

var [a, , b] = [10, 20, 30];
console.log(a); // result: 10
console.log(b); // result: 30

Еще один отличный пример в ES6:

words = () => { 
    return {
        positive: "Awesome", 
        negative: "Sucks", 
        neutral: "Ok"
    }
}
var {positive, negative, neutral} = words()
console.log(positive); // result: Awesome
console.log(negative); // result: Sucks
console.log(neutral); // result: Ok

Дефолт

ES6: установите значение по умолчанию в ваших параметрах

function f(x, count=5) {   
    return x * count; 
}

Распространять

ES6

var parts = ["tire", "wheel"]; 
var copyArray = [...parts];
copyArray.push("door");
console.log(parts); // result: ["tire", "wheel"]
console.log(copyArray; // result: ["tire", "wheel", "door"]

Примечание. Синтаксис расширения эффективно углубляется на один уровень при копировании массива. Поэтому он может не подходить для копирования многомерных массивов, как показано в следующем примере. (То же самое верно для Object.assign() и синтаксиса распространения.)

Модули и загрузчики модулей

ES6:

import {sayHi, sayBye} from './say.js';

Обещания

ES6:

var p1 = new Promise((resolve, reject) => {   setTimeout(() => resolve("1"), 101) })

Наследуемые встроенные модули

ES6:

class CustomArray extends Array {  }
var a = new CustomArray();
a.push(10);

Юникод

ES6:

console.log("\uD842\uDFD7")

Для более глубокого изучения ES6 посетите: https://www.javatpoint.com/es6.

Наслаждаться!