ECMAScript — это официальное название языка JavaScript.

ES6 также известен как ECMAScript 2015 (название 2015 года начинается с ES6).

Ниже мы покажем вам несколько примеров использования нового в ES6 по сравнению с ES5.

1. let (Переменные с блочной областью действия)

let name = 'Dan';
// Here name is Dan
{ 
    let name = 'Max';
    // Here name is max
}
// Here name is Dan

2. const (не может быть изменено)

const name = 'Dan';
// Here name is Dan
{ 
    const name = 'Max';
    // Here nameis max
}
// Here name is Dan

3. Значения параметров по умолчанию

function getName(name = 'Allen') {
    // name is Allen if not passed or undefined
    return name;
}
getName(); // will return Allen
getName('Charlie'); // will return Charlie

4. Функции со стрелками

// ES6
const name = (name) => name;

такой же как

// ES5
var name = function(name) {
     return name;
}

5. Сокращение свойства объекта

// ES6
let name = 'Me';
const obj = {
    name,
    getName() {},
    [ "Sam" + random() ]: 101
};

такой же как

// ES5
var name = 'Me';
var obj = {
    name: name,
    getName: function () {}
};
obj[ "Sam" + random() ] = 101;

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

// ES6
let name = 'Long';
let say = `I am ${name}!`; // say = "I am Long!"

такой же как

// ES5
var name = 'Long';
var say = 'I am ' + name + '!'; // say = "I am Long!"

7. Для..О

let arr = [1, 2, 3];
for (let n of arr) {
  console.log(n);
}
// result
// 1
// 2
// 3

8. Остальной параметр

function test(...arr) {
    // arr is an Array   
    return arr;
}
test('girl', 'boy', 'none') // ['girl', 'boy', 'none']

9. Оператор спреда

var numbers = [3, 4, 5];
var other = [1, 2, ...numbers]; // [1, 2, 3, 4, 5]
var str = "sleep";
var chars = [...str] // ["s", "l", "e", "e", "p"]

10. Класс

class MyName {
  constructor(firstName, lastName) {
    this.firstName = firstName;
    this.lastName = lastName;
  },
  // Method
  fullName() {
    return this.firstName + ' ' + this.lastName
  }
}
const myClass = new MyName('Long', 'High');
myClass.fullName() // Long High